![](/img/trans.png)
[英]I get a this error when running scrapy spider ——> ValueError: time data '2022-10-10T13:00:00-07:00' does not match format '%Y-%m-%dT%H:%M:%S%z'
[英]ValueError: time data '2020-01-31T15:16:21+00:00' does not match format '%Y-%m-%dT%H:%M:%S%z'
我確實在獲取 datetime 來解析這個時間數據時遇到了一些麻煩。 (這適用於 Windows,但不適用於 linux)
誰能告訴我為什么這在 Linux 上不起作用?
d1 = '2020-01-31T15:16:21+00:00'
d1 = datetime.datetime.strptime(d1, "%Y-%m-%dT%H:%M:%S%z")
它也不應該在 Windows 中工作。 %z
格式不支持時區的小時和分鍾之間的冒號,如日期時間文檔中所述。 您需要先刪除冒號:
import datetime
import re
d1 = "2020-01-31T15:16:21+00:00"
# Remove all colons in the timezone part
d1 = re.sub(r"([\+-]\d\d):(\d\d)(?::(\d\d(?:.\d+)?))?", r"\1\2\3", d1)
d1 = datetime.datetime.strptime(d1, "%Y-%m-%dT%H:%M:%S%z") # now works normally
預期的%z
格式: ±HHMM[SS[.ffffff]]
根據上述格式解釋正則表達式的含義: https : //regex101.com/r/EoOBHW/1
或者,您可以使用dateutil第三方庫,它可以成功解析該字符串:
import datetime
from dateutil.parser import parse
d1 = parse("2020-01-31T15:16:21+00:00")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.