Main Content

exceltime

Convert MATLAB datetime to Excel date number

Description

e = exceltime(t) returns a double array containing Excel® serial date numbers equivalent to the datetime values in t. Excel serial date numbers are the number of days and fractional days since 0-January-1900 00:00:00, and do not take into account time zone and leap seconds.

example

e = exceltime(t,dateType) returns the type of Excel serial date numbers specified by dateType. For example, you can convert datetime values to the number of days since 1-January-1904 00:00:00.

Examples

collapse all

Create a datetime array. Then, convert the dates to the equivalent Excel® serial date numbers.

t = datetime('now') + calmonths(1:3)
t = 1x3 datetime
   20-Aug-2024 14:47:24   20-Sep-2024 14:47:24   20-Oct-2024 14:47:24

e = exceltime(t)
e = 1×3
104 ×

    4.5525    4.5556    4.5586

Input Arguments

collapse all

Input date and time, specified as a datetime array.

Type of Excel serial date numbers, specified as either '1900' or '1904'.

  • If dateType is '1900', then exceltime converts the datetime values in t to the equivalent the number of days and fractional days since 0-January-1900 00:00:00.

  • If dateType is '1904', then exceltime converts the datetime values in t to the equivalent the number of days and fractional days since 1-January-1904 00:00:00.

exceltime does not account for time zone.

Output Arguments

collapse all

Excel serial date numbers, returned as a scalar, vector, matrix, or multidimensional array of type double. Excel serial date numbers are not defined prior to their epoch (0-January-1900 or 1-January-1904). Excel serial date numbers treat 1900 as a leap year. Therefore, dates after February 28, 1900 are offset by one day relative to MATLAB® serial date numbers, and there is a discontinuity of one day between February 28, 1900 and March 1, 1900.

Extended Capabilities

Version History

Introduced in R2014b