【发布时间】:2020-01-28 22:30:49
【问题描述】:
我正在尝试将日期格式化为特定格式。该代码使用 Python 3.7 在 Windows 上成功部署。但是,它不适用于 Linux Debian 9.11 - Oython 3.5。想不出解决办法。非常感谢任何帮助。
def parse_date(date_string: str, date_format: str) -> str:
"""
'2019-04-12T00:00:00.000-07:00' --> "%Y-%m-%dT%H:%M:%S.%f%z"
'2019-04-28T07:25:39.668Z' --> "%Y-%m-%dT%H:%M:%S.%fZ"
"""
req_date = dt.datetime.strptime(date_string, date_format)
return req_date.strftime("%Y-%m-%d")
适用于 Windows
parse_date('2019-04-11T00:00:00.000-07:00', "%Y-%m-%dT%H:%M:%S.%f%z")
在 Linux 上失败
parse_date('2019-04-11T00:00:00.000-07:00', "%Y-%m-%dT%H:%M:%S.%f%z")
ValueError: 时间数据 '2019-04-11T00:00:00.000-07:00' 不匹配 格式 '%Y-%m-%dT%H:%M:%S.%f%z'
预期返回值:'2019-04-11'
【问题讨论】:
-
您在 Linux 中的 Python 版本是什么? python 2.7 版的 strptime 中没有 %z。
-
我已经更新了有关版本和操作系统的信息。
标签: python python-3.5