convertTo
将 datetime
值转换为数值表示
说明
X = convertTo(
使用名称-值对组参量指定纪元和每秒的时钟计时单元数。例如,如果您将纪元指定为 D
,'epochtime',Name,Value
)'Epoch','2001-01-01'
,则 X
中的每个值表示 2001 年 1 月 1 日午夜之前或之后的秒数。
示例
创建一个由 datetime
值组成的数组。
D = datetime(2019,10:12,1,12,0,0)
D = 1×3 datetime
01-Oct-2019 12:00:00 01-Nov-2019 12:00:00 01-Dec-2019 12:00:00
将 D
转换为表示 Excel® 日期数值的双精度值数组。(要显示日期数值的所有位,请将数值显示格式设置为 longg
。)
format longg X = convertTo(D,'excel')
X = 1×3
43739.5 43770.5 43800.5
将 D
转换为一个将日期和时间表示为 .NET 时间的数组。由于 .NET 时间必须为无符号 64 位整数,convertTo
返回具有 uint64
数据类型的数组。
X = convertTo(D,'.net')
X = 1×3 uint64 row vector
637055280000000000 637082064000000000 637107984000000000
创建一个 datetime
数组。将时区指定为东京所在的时区。
D = datetime(2019,10:12,1,12,0,0,'TimeZone','Asia/Tokyo')
D = 1×3 datetime
01-Oct-2019 12:00:00 01-Nov-2019 12:00:00 01-Dec-2019 12:00:00
转换 D
。要将时间表示为自 2001 年 1 月 1 日以来经过的毫秒数,请指定 Epoch
和 TicksPerSecond
名称-值对组参量。您可以将纪元指定为 datetime
值,或指定为文本格式的日期和时间。当您指定 'epochtime'
时,输出是有符号 64 位整数组成的数组。
X = convertTo(D,'epochtime','Epoch','2001-01-01','TicksPerSecond',1000)
X = 1×3 int64 row vector
591624000000 594302400000 596894400000
如果未指定 D
的时区,则当您指定 'epochtime'
时,convertTo
函数会将 D
的元素视为 UTC 时间。
输入参数
日期和时间输入,指定为 datetime
数组。
输出数值表示类型,指定为表中的值。
dateType
的值决定输出数组的数据类型。一些数值表示要求无符号或有符号 64 位整数。根据这些要求,输出可以具有 double
、uint64
或 int64
数据类型。
| 输出数值表示 | 输出数据类型 |
---|---|---|
| 自 1900 年 1 月 0 日起计的天数,表示 Excel® 日期值。此选项等效于 注意:Excel 日期值舍入为最近的微秒。 请注意:Excel 错误地假设 1900 年是闰年。因此,计算 Excel 日期值时,1900 年 2 月 28 日与 1900 年 3 月 1 日之间因为多了一天而中断。 |
|
| 自 1904 年 1 月 0 日起计的天数,表示 Excel 日期值。此选项等效于 注意:Excel 日期值舍入为最近的微秒。 请注意:Excel 错误地假设 1900 年是闰年。因此,计算 Excel 日期值时,1900 年 2 月 28 日与 1900 年 3 月 1 日之间因为多了一天而中断。 |
|
| 自 UTC 时间公元前 4714 年 11 月 24 日中午(外推格里历)起计的天数,表示儒略日期。此选项等效于 注意:如果未指定 示例:使用东京的时区转换 D.TimeZone = 'Asia/Tokyo'; X = convertTo(D,'juliandate') |
|
| 自 UTC 时间 1858 年 11 月 17 日午夜起计的天数,表示修改后的儒略日期。此选项等效于 注意:如果未指定 示例:使用东京的时区转换 D.TimeZone = 'Asia/Tokyo'; X = convertTo(D,'modifiedjuliandate') |
|
| 自 UTC 时间 1970 年 1 月 1 日 00:00:00(该时间点称为 Unix 纪元)起计的秒数。此选项等效于 Unix 时间,也称为 UNIX 纪元时间或 POSIX 时间,是针对 Unix 纪元测量时间的系统。(Unix 时间会忽略闰秒,因此不能真正表示 UTC 时间。) 注意:如果未指定 示例:转换 D.TimeZone = 'Asia/Tokyo'; X = convertTo(D,'posixtime') |
|
| 以 YYYYMMDD 数值形式表示的日期。例如, |
|
| 自 0000 年 1 月 0 日(外推 ISO 日历)起计的天数。 |
|
| 自 UTC 时间 1900 年 1 月 1 日 00:00:00 起计的“时钟计时单元”数,表示网络时间协议 (NTP) 时间戳,其中每个时钟计时单元为 2^-32 秒。 |
|
| 自 UTC 时间 0001 年 1 月 1 日 00:00:00 起计的“时钟计时单元”数,表示 Microsoft® .NET 时间戳,其中每个时钟计时单元为 100 纳秒。 |
|
| 自 UTC 时间 1601 年 1 月 1 日 00:00:00 起计的“时钟计时单元”数,表示 NTFS 时间戳,其中每个时钟计时单元为 100 纳秒。 |
|
| 自 J2000 以来经过的纳秒数。常用数据格式 (CDF) 将 要将 注意:J2000 是 2000 年 1 月 1 日 12:00 的地球时 (TT)。TT 与 UTC 的不同之处在于两个因素:
因此,J2000 实际上发生在 D = datetime(2000,1,1,11,58,55,816,"TimeZone","UTCLeapSeconds") D = 2000-01-01T11:58:55.816Z 示例:将 D = datetime(2022,4,1:3,9,30,45, ... "TimeZone","UTCLeapSeconds"); D = D' D =
3x1 datetime array
2022-04-01T09:30:45.000Z
2022-04-02T09:30:45.000Z
2022-04-03T09:30:45.000Z
X = convertTo(D,"tt2000")
X =
3x1 int64 column vector
702077514184000000
702163914184000000
702250314184000000
|
|
| 自指定纪元起计的秒数。将此选项与 注意:如果未指定 示例:指定 D.TimeZone = 'Asia/Tokyo'; X = convertTo(D,'epochtime','Epoch','2001-01-01') |
|
名称-值参数
以 Name1=Value1,...,NameN=ValueN
的形式指定可选参量对组,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: convertTo(D,'epochtime','Epoch','2001-01-01','TicksPerSecond',1000)
返回自 2001 年 1 月 1 日起计的毫秒数。
用于时间测量的点,指定为以逗号分隔的对组,其中包含 'Epoch'
和 datetime
标量、字符向量或字符串标量。
如果 'Epoch'
的值是字符向量或字符串标量,则它必须以 datetime
函数能够识别的格式表示日期和时间(例如,'2001-01-01'
表示 2001 年 1 月 1 日)。
默认值为 Unix 纪元,表示 UTC 时间 1970 年 1 月 1 日 00:00:00。
每秒的时钟计时单元数,指定为以逗号分隔的对组,其中包含 'TicksPerSecond'
和数值标量。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
版本历史记录
在 R2018b 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)