【问题标题】:Convert date into numeric date将日期转换为数字日期
【发布时间】:2017-06-09 14:06:35
【问题描述】:

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

【问题讨论】:

    标签: string matlab date


    【解决方案1】:

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

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

    如果您想将日期保留为字符串,只需从上述代码中删除 str2double

    【讨论】:

      【解决方案2】:

      以下是对这种情况最有用和最合适的两个函数: 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 来实现你想要的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-10
        • 2011-11-28
        • 2013-04-15
        • 1970-01-01
        相关资源
        最近更新 更多