Perhaps you can reverse-engineer a formula with these starting blocks. Time is a count over the number of tenths of a second since a point of origin, which if working backwards under the current Gregorian system should be about January 1, year 0 (which never happened).

A couple of milestones should illustrate this:

631138176000 = 1/1/2000

630822816000 = 1/1/1999

599581440000 = 1/1/1900

Some basic conversions:

1 min = 600

1 hr = 36000

1 day = 864000

1 yr (365) = 315360000

1 yr (366) = 316224000

Including the 24 leap-year days between 1/1/1900 and 1/1/2000 (1900 was not a leap year), back-checking the time since 1900 to 2000, 100*315360000 + 24*864000 = 31556736000 which is the difference between two dates in time format.

Extending this, as every 4 years is a leap year, but years divisible by 100 are not unless they are divisible by 400 (then they are again), you have 488 leap years and 1525 normal years to Jan 1, 2013. The calculation 488*316224000 + 1525*315360000 = 635241312000, which is EXACTLY how Jan 1, 2013 at 00:00:00 is stored.

Hope this helps!

-Brian