programming - Excel - Excel Date/Time internal formatWhat links here?
Internally, Excel uses a floating point number to represent dates and time. The fraction repersents the portion of the day that has passed. For instance, 10:22 (AM) = 0.4319. This is:

10 hours * 60 minutes per hour + 22 minutes / 1440.0 minutes per day.


The date is represented in the the integer part of the number. January 1, 1900 is day 1. So this makes the integer part the number of days past Dec 31, 1899. Except that 1900 was not a leap year, but Excel treats it as if it was "in order to be compatible with other programs". This means dates prior to Mar 1, 1901 are misrepresented.

The following is taken from Microsoft's website:
  1. If the year is evenly divisible by 4, go to step 2. Otherwise, go to step 5.
  2. If the year is evenly divisible by 100, go to step 3. Otherwise, go to step 4.
  3. If the year is evenly divisible by 400, go to step 4. Otherwise, go to step 5.
  4. The year is a leap year (it has 366 days).
  5. The year is not a leap year (it has 365 days).



int days_in_year(int year)
{
    if ((year % 4) != 0) return 365;
    if ((year % 100) != 0) return 366;
    if ((year % 400) != 0) return 365;
    return 366;
}
Time internal format
programming tkinter
programming - cgi - environment variables
programming - lisp - List processing commands
programming - windows - message path
programming - pascal - procedure - delete
programming - javascript - event handlers
programming - CSS - tables
programming - algorithms - 3D - Projection
Topical Bible - John the baptist - He must increase, I must decrease
linux - bash shell test
programming - javascript - write to the webpage
programming - Free Pascal - TPaintBox
programming - sqlite3
programming - HTTP - status codes
programming - HTML - form
programming - Free Pascal - GUI Elements
programming - sqlite2
filename:programming - Excel - Excel Date/Time internal format
filename:programming%20%2D%20Excel%20%2D%20Excel%20Date%2FTime%20internal%20format
last edit:March 25 2009 23:38:30 (6437 days ago)
ct = 1794244089.000000 = November 09 2026 17:08:09
ft = 1238024310.000000 = March 25 2009 23:38:30
dt = 556219779.000000