【问题标题】:Matlab - how to convert date format in example providedMatlab - 如何在提供的示例中转换日期格式
【发布时间】:2021-02-13 13:40:03
【问题描述】:

在下面的代码中,我无法将第 1 列中的日期格式从 dd/MM/yyyy 转换为 MM-dd-yyyy。如何正确配置它以停止看到此错误??

>> T = readtable("IGEv3.xlsx");
>> tday=T{2:end, 1};
>> tday=datestr(datenum(tday, 'dd-MM-yyyy'), 'MM-dd-yyyy')
Error using datetime/datenum
Too many input arguments.

【问题讨论】:

  • tday=T{2:end, 1} 返回什么?你能显示那个输出吗?这将有助于解决您的问题。

标签: matlab


【解决方案1】:

看起来您的 Date 列包含 datetime 值而不是字符串或 datenum 双精度值。 (字符串或单元格在表格显示输出中显示为引号。错误消息“使用日期时间/日期数字时出错”表示您在 datetime 输入上调用 datenum()。)

datetime 值直接支持 datestr 调用。你也许可以这样做:

tday=datestr(T{2:end,1}, 'mm-dd-yyyy')

就我个人而言,当您按名称而不是索引引用变量时,我发现它更具可读性:

tday = datestr(T.Date(2:end), 'mm-dd-yyyy')

【讨论】:

  • 感谢您的支持。我尝试了您的答案,但是将每行的月份重新格式化为 00。例如“00-02-2007”为什么会这样?
  • 那是因为月份应该是小写的“mm”。大写“MM”是分钟。 :) 我已经更新了我的答案以反映这一点。
猜你喜欢
  • 2013-08-10
  • 1970-01-01
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 2013-06-16
相关资源
最近更新 更多