为了账号安全,请及时绑定邮箱和手机立即绑定

我应该在 Python 中为 strptime 使用什么格式的时间戳?

我应该在 Python 中为 strptime 使用什么格式的时间戳?

一只斗牛犬 2023-08-08 10:24:38
我有一个 .txt 文件,其中包含字符串"2020-08-13T20:41:15.4227628Z" What format code should I use in strptimefunction in Python 3.7? 我尝试了以下操作,但'8'之前的末尾'Z'不是有效的工作日from datetime import datetimetimestamp_str = "2020-08-13T20:41:15.4227628Z"timestamp = datetime.strptime(timestamp_str, '%Y-%m-%dT%H:%M:%S.%f%uZ')ValueError: time data '2020-08-13T20:41:15.4227628Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%uZ'
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您的时间戳格式主要符合ISO 8601,除了 7 位小数秒。

  • 第 7 位数字是 1/10 微秒;通常,您的分辨率为 3、6 或 9 位(分别为毫秒、微秒或纳秒)。

  • Z表示UTC

查看完整回答
反对 回复 2023-08-08
?
森栏

TA贡献1810条经验 获得超5个赞

后面的 7 位数字.似乎是纳秒数。您可能有一个特定于平台的格式(由 定义strftime(3))可用来代替%f,但如果没有,您最好的选择是在尝试将剩余字符串解析为时间戳之前删除尾随数字。


regex = "(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}).(\d.*)"

if (m := re.match(regex, timestamp_str) is not None:

    timestamp_str = "".join(m.groups())


timestamp = datetime.strptime(timestamp_str, '%Y-%m-%dT%H:%M:%S.%fZ')


查看完整回答
反对 回复 2023-08-08
  • 2 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信