【发布时间】:2018-08-10 22:07:09
【问题描述】:
我正在尝试在 Matlab 中将以下日期时间转换为字符串格式。
20121003.03
它对应于 2012 年 10 月 3 日凌晨 3:00。有什么想法吗?
【问题讨论】:
-
现在是什么格式? 20121003.03是否存储为浮点数?
我正在尝试在 Matlab 中将以下日期时间转换为字符串格式。
20121003.03
它对应于 2012 年 10 月 3 日凌晨 3:00。有什么想法吗?
【问题讨论】:
您可以在创建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 了解更多信息。
【讨论】: