convertTo
将 datetime
值转换为数值表示
说明
X = convertTo(
使用名称-值对组参量指定纪元和每秒的时钟计时单元数。例如,如果您将纪元指定为 D
,'epochtime',Name,Value
)'Epoch','2001-01-01'
,则 X
中的每个值表示 2001 年 1 月 1 日午夜之前或之后的秒数。
示例
将日期和时间转换为 Excel 和 .NET 时间
创建一个由 datetime
值组成的数组。
D = datetime(2019,10:12,1,12,0,0)
D = 1x3 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 = 1x3 uint64 row vector
637055280000000000 637082064000000000 637107984000000000
指定纪元和时钟计时单元
创建一个 datetime
数组。将时区指定为东京所在的时区。
D = datetime(2019,10:12,1,12,0,0,'TimeZone','Asia/Tokyo')
D = 1x3 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 = 1x3 int64 row vector
591624000000 594302400000 596894400000
如果未指定 D
的时区,则当您指定 'epochtime'
时,convertTo
函数会将 D
的元素视为 UTC 时间。
输入参数
D
— 日期时间输入
datetime
数组
日期时间输入,指定为 datetime
数组。
dateType
— 输出数值表示类型
'excel'
| 'excel1904'
| 'juliandate'
| 'modifiedjuliandate'
| 'posixtime'
| ...
输出数值表示类型,指定为表中的值。
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(1970,1,1,0,0,0,'TimeZone','UTC')
(默认) | datetime
标量 | 字符向量 | 字符串标量
用于时间测量的点,指定为以逗号分隔的对组,其中包含 'Epoch'
和 datetime
标量、字符向量或字符串标量。
如果 'Epoch'
的值是字符向量或字符串标量,则它必须以 datetime
函数能够识别的格式表示日期时间(例如,'2001-01-01'
表示 2001 年 1 月 1 日)。
默认值为 Unix 纪元,表示 UTC 时间 1970 年 1 月 1 日 00:00:00。
TicksPerSecond
— 每秒的时钟计时单元数
1
(默认) | 数值标量
每秒的时钟计时单元数,指定为以逗号分隔的对组,其中包含 'TicksPerSecond'
和数值标量。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
版本历史记录
在 R2018b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)