如何解决日期时间字符串从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
我不确定自己做错了什么,但是结果显然是错误的:(
任何帮助都会很棒
解决方法
您的输入字符串的末尾包含一个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参数更改为所需的值)。
,是的+00:00
应该设置为时区,而不是小时,分钟。但是,您可以根据需要设置显示格式,这可能与输入有所不同。默认的Matlab datetime
显示格式将舍弃小数秒(以及我认为的时区)。例如:
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,fmt_dt_input,'local','Format',fmt_dt_show)
已作为输出:2020-08-18 16:48:13.722422 +00:00
编辑:here处datetime
上的此信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。