在Matlab中,如何将日期转换为数字日期?
例如,我想将'31 -Jan-1990'转换为'19900131'。
答案 0 :(得分:1)
您可以使用datestr
将日期格式更改为19900131,然后使用str2double
将其转换为数字:
numDate = str2double(datestr('31-Jan-1990','yyyymmdd'))
numDate =
19900131
如果您想将日期保留为字符串,请从上面的代码中删除str2double
。
答案 1 :(得分:0)
以下是针对这种情况最有帮助和最合适的两个函数:
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
来实现您的目标。