datetime字符串(来自python)到matlab



我有一个datatime字符串(来自django/python(,看起来像这样:

datatime_str='2020-08-18 16:48:13.722422+00:00'

然后我做,在Matlab 2018a:

fmt_dt='yyyy-MM-dd HH:mm:ss.SSSSSS+HH:mm';
datetime(datatime_str,'TimeZone','local','Format',fmt_dt);

我得到:

2020-08-18 00:00:13.722422+00:00

我不确定我做错了什么,但结果显然是错误的:(

任何帮助都将是伟大的

是的,+00:00的格式应该是时区,而不是小时、分钟。但是,您可以根据需要设置显示格式,这可能与输入不同。默认的Matlabdatetime显示格式丢弃了小数秒(我认为还有时区(。例如:

fmt_dt_input='yyyy-MM-dd HH:mm:ss.SSSSSSxxxxx';
fmt_dt_show='yyyy-MM-dd HH:mm:ss.SSSSSS xxxxx';
datatime_str='2020-08-18 16:48:13.722422+00:00';
t =  datetime(datatime_str,'InputFormat',fmt_dt_input,'TimeZone','local','Format',fmt_dt_show)

输出:2020-08-18 16:48:13.722422 +00:00

编辑:顺便说一句,关于datetime的信息可以在这里找到

您的输入字符串在末尾包含UTC偏移+00:00,您将其解析为小时和分钟,这就是为什么它们在结果中设置为00:00。使用例如

datetime('2020-08-18 16:48:13.722422+00:00', 'InputFormat', 'yyyy-MM-dd HH:mm:ss.SSSSSSZ', 'TimeZone', 'UTC')

而是(将TimeZone参数更改为所需的任何值(。

相关内容

  • 没有找到相关文章

最新更新