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

CI 中的 datetime.strptime 失败

CI 中的 datetime.strptime 失败

繁花不似锦 2022-06-14 10:44:25
我有以下仅在 CI 中发生的错误:ValueError: time data '09.30.2019 17:50 EDT' does not match format '%m.%d.%Y %H:%M %Z'这是我的测试:def test_extract_time_from_page(pjm_html):    expected_time = datetime.strptime("09.30.2019 17:50 EDT", "%m.%d.%Y %H:%M %Z")    res = demand.extract_time_from_page(pjm_html)    assert res == expected_time它在本地通过。我不确定在 CI 环境中运行会有什么不同编辑:我可以通过将我的机器时区更改为 EDT 以外的时间来重现这一点。您不能使用与当前时区不同的时区datetime.strptime吗?
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

这是该指令的一个已知问题。%Z当前文档令人困惑,并且有待修改的文档请求。待处理的文档更改解释了您遇到的问题:

请注意,strptime仅接受%Z:UTC 和的某些值,以及为您自己的语言环境GMT定义的值。time.tzname它将ValueError为任何无效字符串返回一个。例如,居住在日本的人将UTC,GMT和 JST作为有效值,但可能不是EST


查看完整回答
反对 回复 2022-06-14
?
四季花海

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

可能是 pytz lib 的问题。比较 CI 工作者和本地的 pytz 库。在这里,您可以找到指向wikipedia list of timezones的解释,其中指出 EDT 是一个已弃用的时区。您可以尝试在 CI 工作者上更新您的 pytz 库。



查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 62 浏览
慕课专栏
更多

添加回答

举报

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