![](/img/trans.png)
[英]My python program works fine in Windows 7 and prints to the console but gives an error in Linux Mint?
[英]Date format conversion works on windows but gives an error in Linux
我正在嘗試將日期格式化為特定格式。 該代碼使用 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'
我最終使用正則表達式解決了這個問題並且它有效。
def parse_date_regex(date_string: str) -> str:
"""
:return:
"""
date = re.split('(\d{4}-\d{2}-\d{2})', date_string)
return [res for res in date if len(res) == 10][0]
在 Python 3.5 中,您的 UTC 偏移量中不能有冒號。
格式為 +HHMM 或 -HHMM 的 UTC 偏移量(如果 object 是幼稚的,則為空字符串)。
在 Python 3.7 中更改為允許冒號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.