【问题标题】:How can I change the date format of a string containing dates, in Matlab?如何在 Matlab 中更改包含日期的字符串的日期格式?
【发布时间】:2016-09-16 09:31:42
【问题描述】:

有没有什么方法可以在不先转换为数字的情况下更改 Matlab 中的日期格式?

这是我的意思的伪代码示例:

timeString = '23/04/2016';
newFormat1 = 'yy-mm-dd';
myPseudoFun(timeString, newFormat1)

ans =

16-04-23


newFormat2 = 'dd mmm yyyy';
myPseudoFun(timeString, newFormat2)

ans =

23 Apr 2016

非常感谢所有帮助!

【问题讨论】:

  • datestr(datenum(timeString, oldFormat), newFormat) 有什么问题?这几乎就是任何myPseudoFun 的实现都会做的事情......
  • 我需要为多达 2000 万个元素执行此操作

标签: string matlab date regexp-replace


【解决方案1】:

使用datetime 数据类型: (注意使用大写 M 表示月份。小写 m 表示分钟。)

>> timeString = datetime('23/04/2016','InputFormat','dd/MM/yyyy')
timeString = 
   23-Apr-2016
>> timeString.Format = 'yy-MM-dd'
timeString = 
   16-04-23
>> timeString.Format = 'dd MMM yyyy'
timeString = 
   23 Apr 2016

【讨论】:

  • 值得注意的是,这种数据类型是在 R2014b 中引入的
  • 感谢@Phil Goddard。不幸的是,这太耗时了=/
猜你喜欢
  • 1970-01-01
  • 2022-07-04
  • 2015-10-02
  • 2011-05-04
  • 2016-06-25
  • 1970-01-01
  • 2018-07-09
  • 2018-01-19
相关资源
最近更新 更多