将日期转换为数字日期

时间:2017-06-09 14:06:35

标签: string matlab date

在Matlab中,如何将日期转换为数字日期?
例如,我想将'31 -Jan-1990'转换为'19900131'。

2 个答案:

答案 0 :(得分:1)

您可以使用datestr将日期格式更改为19900131,然后使用str2double将其转换为数字:

numDate = str2double(datestr('31-Jan-1990','yyyymmdd'))

numDate =
    19900131

如果您想将日期保留为字符串,请从上面的代码中删除str2double

答案 1 :(得分:0)

以下是针对这种情况最有帮助和最合适的两个函数: datenumdatestr

第一步是将您的字符串转换为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来实现您的目标。