主要内容

convertTo

转换datetime数值表示

描述

例子

X =转换(DdateType转换datetimeD的数值表示形式dateType并返回一个数字数组。例如,如果dateType“posixtime”,然后convertTo的每个元素D到事件发生后经过的秒数时代1970年1月1日00:00:00 UTC。

所有的数字表示都描述了一个时间点(称为纪元)的日期和时间。计算机通常通过自指定纪元以来的秒数或时钟滴答数来测量时间。

例子

X =转换(D“epochtime”,名称,值使用名称-值对参数指定每秒的epoch和时钟滴答数。例如,如果将epoch指定为“时代”,“2001-01-01”,则每个值都在X表示2001年1月1日午夜前或午夜后的秒数。

例子

全部折叠

创建一个数组datetime值。

D = datetime(2019,10:12,1,12,0,0)
D =1 x3 datetime01-Oct-2019 12:00:00 01- 11-2019 12:00:00

转换D到表示Excel®日期数字的双精度值数组。(若要显示日期数字的所有数字,请将数字显示格式设置为longg.)

格式longgX = D,“超越”
X =1×343739.5 43770.5 43800.5

转换D到表示日期和时间为. net时间的数组。由于.NET时间必须是无符号的64位整数,convertTo属性的数组uint64数据类型。

X = D,“net”
X =1x3 uint64行向量637055280000000000 637082064000000000 637107984000000000

创建一个datetime数组中。指定时区为东京的时区。

D = datetime(2019,10:12,1,12,0,0,“时区”“亚洲/东京”
D =1 x3 datetime01-Oct-2019 12:00:00 01- 11-2019 12:00:00

转换D.要将时间表示为自2001年1月1日以来经过的毫秒数,请指定时代而且TicksPerSecond名称-值对参数。您可以将纪元指定为datetime值或格式化为文本以指定日期和时间。当你指定“epochtime”,输出是一个带符号的64位整数数组。

X = D,“epochtime”“时代”“2001-01-01”“TicksPerSecond”, 1000)
X =1x3 int64行向量591624000000 594302400000 596894400000

如果时区为D未指定,则convertTo函数处理的元素D作为UTC时间“epochtime”

输入参数

全部折叠

输入日期和时间,指定为datetime数组中。

输出数字表示形式的类型,作为表中的值指定。

的价值dateType确定输出数组的数据类型。一些数字表示需要无符号或有符号的64位整数。根据这些需求,输出可以具有uint64,或int64数据类型。

的价值dateType

数字表示法

输出数据类型

“超越”

从1900年1月0日到1900年的天数,表示Excel®日期的数字。该选项等价于exceltime函数。

注意:Excel日期数字四舍五入到最接近的微秒。

注意:Excel错误地假设1900年是闰年。因此,当计算Excel日期数字时,在1900年2月28日和1900年3月1日之间有一个额外的一天不连续。

“excel1904”

自1904年1月0日起的天数,表示Excel日期。该选项等价于exceltime函数。

注意:Excel日期数字四舍五入到最接近的微秒。

注意:Excel错误地假设1900年是闰年。因此,当计算Excel日期数字时,在1900年2月28日和1900年3月1日之间有一个额外的一天不连续。

“juliandate”

公元前4714年11月24日(国际标准时间)正午起的公历天数,代表儒略历。该选项等价于juliandate函数。

注意:如果时区为D没有指定,那么convertTo处理中的值D为UTC时间,而不是本地时间。要表示本地时间,请使用时区的属性D在致电convertTo函数。

例子:转换D使用东京的时区。

D.TimeZone =“亚洲/东京”;X = D,“juliandate”

“modifiedjuliandate”

自国际标准时间1858年11月17日午夜起的天数,代表修改后的儒略历日期。该选项等价于juliandate函数。

注意:如果时区为D没有指定,那么convertTo处理中的值D为UTC时间,而不是本地时间。要表示本地时间,请使用时区的属性D在致电convertTo函数。

例子:转换D使用东京的时区。

D.TimeZone =“亚洲/东京”;X = D,“modifiedjuliandate”

“posixtime”

从UTC时间1970年1月1日00:00:00开始的秒数,一个时间点称为Unix新纪元.该选项等价于posixtime函数。

Unix时间,也被称为UNIX纪元时间POSIX时间,是相对于Unix纪元来测量时间的系统。(Unix时间忽略闰秒,因此不能真正代表UTC。)

注意:如果时区为D没有指定,那么convertTo处理中的值D为UTC时间,而不是本地时间。要表示本地时间,请使用时区的属性D在致电convertTo函数。

例子:转换D,指定它的时区是东京的时区。

D.TimeZone =“亚洲/东京”;X = D,“posixtime”

“名称”

日期为YYYYMMDD数值。例如,20140402代表2014年4月2日。

“datenum”

在ISO日历中从1月0日到0000日的天数。

国家结核控制规划的

自UTC时间1月1日-1900 00:00:00以来的“时钟滴答”数,表示一个网络时间协议(NTP)时间戳,其中每个时钟滴答为2^-32秒。

uint64

“net”

从UTC时间1-Jan-0001 00:00:00开始的“时钟滴答”数,表示Microsoft®. net时间戳,其中每个时钟滴答为100 ns。

uint64

“ntfs”

自UTC时间1月1日-1601 00:00:00以来的“时钟滴答”数,表示NTFS时间戳,其中每个时钟滴答为100ns。

uint64

“tt2000”

自J2000以来已经过的纳秒数。通用数据格式(CDF)定义了CDF_TIME_TT2000(或TT2000)数据类型作为高分辨率时间类型,处理CDF文件中的数据的闰秒。有关更多信息,请参见CDF中处理闰秒的要求

要转换datetime的数组TT2000时间,设置时区输入的属性datatime数组来UTCLeapSeconds.的UTCLeapSeconds时区是唯一考虑闰秒的时区。

注意:J2000是地球时间2000年1月1日12时。TT与UTC的不同有两个原因:

  • 闰秒

  • TT计时与原子钟计时相差32.184秒

因此,J2000实际上发生在正午前64.184秒UTCLeapSeconds时区:

D = datetime(2000,1,1,11,58,55,816,“时区”“UTCLeapSeconds”
D = 2000-01-01t11:58:55.816z

例子:设置的时区DUTCLeapSeconds.然后转换D的数组TT2000次了。

D = datetime(202,4,1:3,9,30,45,...“时区”“UTCLeapSeconds”);D = D'
D = 3x1datetime数组2022-04-02t9:30:45. 000z
X = D,“tt2000”
X = 3x1int64列向量702077514184000000 702163914184000000 702250314184000000

int64

“epochtime”

从指定的新纪元开始的秒数。属性使用此选项“时代”而且“TicksPerSecond”名称-值对参数。

注意:如果时区为D没有指定,那么convertTo处理中的值D为UTC时间,而不是本地时间。要表示本地时间,请使用时区的属性D在致电convertTo函数。

例子:指定的时区D.然后将其转换为自2001年1月1日以来经过的秒数。

D.TimeZone =“亚洲/东京”;X = D,“epochtime”“时代”“2001-01-01”

int64

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:convertTo (D,“epochtime”、“时代”,“2001-01-01”,“TicksPerSecond”,1000年)返回从2001年1月1日开始的毫秒数。

用于时间测量的点,指定为逗号分隔的对,由“时代”和一个datetime标量、字符向量或字符串标量。

如果的值“时代”是字符向量或字符串标量,则它必须以符合datetime函数识别(例如,“2001-01-01”代表二一年一月一日)。

默认值是Unix纪元,表示UTC时间1970年1月1日00:00:00。

每秒单击刻度,指定为逗号分隔的对,由“TicksPerSecond”和一个数值标量。

版本历史

在R2018b中引入