Main Content

exceltime

Convert MATLAB datetime to Excel date number

Description

example

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.

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
   24-Sep-2020 19:59:32   24-Oct-2020 19:59:32   24-Nov-2020 19:59:32

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

    4.4099    4.4129    4.4160

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

Introduced in R2014b