exceltime - Convert MATLAB datetime to Excel date number - MATLAB (original) (raw)

Main Content

Convert MATLAB datetime to Excel date number

Syntax

Description

[e](#bugbjxg-1-e) = exceltime([t](#bugbjxg-1%5Fsep%5Fshared-t)) returns a double array containing Excel® serial date numbers equivalent to the datetime values int. 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](#bugbjxg-1-e) = exceltime([t](#bugbjxg-1%5Fsep%5Fshared-t),[dateType](#bugbjxg-1-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 = 1×3 datetime 01-Mar-2025 08:46:50 01-Apr-2025 08:46:50 01-May-2025 08:46:50

e = 1×3 104 ×

4.5717    4.5748    4.5778

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'.

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

expand all

Theexceltime function fully supports tall arrays. For more information, see Tall Arrays.

Version History

Introduced in R2014b