【发布时间】:2017-06-09 14:06:35
【问题描述】:
在 Matlab 中,如何将日期转换为数字日期?
例如,我想将 '31-Jan-1990' 转换为 '19900131'。
【问题讨论】:
在 Matlab 中,如何将日期转换为数字日期?
例如,我想将 '31-Jan-1990' 转换为 '19900131'。
【问题讨论】:
您可以使用datestr将日期格式更改为19900131,然后使用str2double将其转换为数字:
numDate = str2double(datestr('31-Jan-1990','yyyymmdd'))
numDate =
19900131
如果您想将日期保留为字符串,只需从上述代码中删除 str2double。
【讨论】:
以下是对这种情况最有用和最合适的两个函数:
datenum 和 datestr
第一步是将你的字符串转换为 Matlab 的日期数字,以后可以转换为任何字符串格式,甚至可以计算日期或时间。在这里,我们使用附加参数来帮助转换。您也可以查看here 以了解您喜欢构建的格式。
daynum = datenum('31-Jan-1990','dd-mm-YYYY')
那么第二步就很简单了。您可以使用日期编号转换为所需格式的字符串。
datestr(daynum,'YYYYmmdd');
你可以将这两个功能结合在一起
datestr(datenum('31-Jan-1990','dd-mm-YYYY'),'YYYYmmdd')
结果
>> datestr(datenum('31-Jan-1990','dd-mm-YYYY'),'YYYYmmdd')
ans =
'19900131'
最后,使用str2num 来实现你想要的。
【讨论】: