如何正确使用MATLAB datetr函数?

时间:2017-07-12 02:50:36

标签: matlab date

我有一个时间戳号

1499664147.116744566

===============================

我把这个号码放到了一个网站上。它显示了

相应的日期和时间应为

GMT:2017年7月10日星期一5:22:27.116 AM 您的时区:2017年7月9日星期日10:22:27.116 PM GMT-07:00 DST

=================================

然而,它显示了' 22.12.5940.02.48.726'如果我使用datestr

datestr(1499664147.116744566,' dd.mm.yyyy.HH.MM.FFF')

我可以知道如何解决它吗?

1 个答案:

答案 0 :(得分:1)

问题在于MATLAB没有使用纪元时间,该时间表示自1970年1月1日午夜以来的秒数。相反,它需要花费不同时间的天数。使用以下命令生成正确的时间。

epoch_time = datenum('01-01-1970','mm-dd-yyyy');
t_sec = 1499664147.11674;
t_days = t_sec / (60*60*24);
t_str = datestr(t_days + epoch_time, 'dd.mm.yyyy.HH.MM.SS.FFF')

导致

10.07.2017.05.22.27.117

我猜你要显示秒数,因为格式字符串中有FFF所以我之前添加了SS