【问题标题】:Matlab - convert decimal datetime to string formatMatlab - 将十进制日期时间转换为字符串格式
【发布时间】:2018-08-10 22:07:09
【问题描述】:

我正在尝试在 Matlab 中将以下日期时间转换为字符串格式。

20121003.03

它对应于 2012 年 10 月 3 日凌晨 3:00。有什么想法吗?

【问题讨论】:

  • 现在是什么格式? 20121003.03是否存储为浮点数?

标签: matlab datetime


【解决方案1】:

您可以在创建datetime 对象时指定自定义输入格式。您的问题似乎表明该对象已经是一个日期时间对象,但此时问题很简单,只需在其上调用datestr(下面脚本的最后一行)。我在这里假设输入是浮点表示。

dval = 20121030.0330;

% Convert floating point number to a string
dstr = sprintf('%013.04f', dval);

% Convert string to a datetime object
dtime = datetime(dstr, 'InputFormat', 'yyyyMMdd.hhmm');

% Convert the datetime object into a formatted string
dstr2 = datestr(dtime);

输出:

dstr2 = '30-Oct-2012 03:00:00'

如果您想要一个不同于默认的输出格式,那么您需要指定datestr 的输出格式。请参阅documentation 了解更多信息。

【讨论】:

  • 目前我正在读取带负载的表格数据,并将其存储为“双精度”。您的建议非常适合我给出的示例。但它不适用于我的所有条目。比如我也有:20121003.033。我相信我拥有的数据是每 30 分钟一次。
  • 根据评论修改。
  • 其实我认为只有 'yyyyMMdd.hhmm' 已经解决了这个问题
猜你喜欢
  • 2019-12-02
  • 1970-01-01
  • 2014-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多