如何解决如何将字符串日期转换为 dateobject 并在字符串日期值为 2021-01-22T11:36:52.387000+01:00 格式时获取年份和日期时间?
我试过了:
timestamp = "2021-01-22T11:36:52.387000+01:00"
timestampObject = datetime.strptime(timestamp,'%Y-%m-%dT%H:%M:%s')
但是给了我错误:
ValueError:未转换的数据仍然存在:.150000+01:00
其余部分是什么,我如何转换其余部分?还有“T”是什么意思?
解决方法
因为您还必须提供格式说明符来处理尾随微秒和时区说明符,就像错误告诉您的那样,请参阅 Conversion of datetime string with microseconds 和 ...milliseconds。可能你需要dict.values()
。请参阅日期时间文档。
此外,“T”仅代表“时间”;它将日期字段与时间字段分开,以便于解析(使用 sed/perl/grep/regex/etc.)。如果您想 a) 在日志中定位日期时间或 b) 丢弃/分离时间部分与日期部分,则可以轻松实现。
,您拥有的字符串格式实际上是 ISO 格式的日期时间。幸运的是 datetime 有一个函数来处理这个问题,你不必担心为尾随时间对象提供格式说明符...
你只想要日期吗?
>>> datetime.datetime.fromisoformat("2021-01-22T11:36:52.387000+01:00").date()
datetime.date(2021,1,22)
或者你想要日期时间?
>>> datetime.datetime.fromisoformat("2021-01-22T11:36:52.387000+01:00")
datetime.datetime(2021,22,11,36,52,387000,tzinfo=datetime.timezone(datetime.timedelta(seconds=3600)))
,
这对我有用:
timestampObject = datetime.fromisoformat(
"2021-01-22T11:36:52.387000+01:00" ).date()
print('timestampObject.year: ',timestampObject.year)
timestampObject.year:2021
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。