1
我在Python 3.5.2中遇到了time.strptime的奇怪問題。出於測試目的,我使用time.strftime生成時間字符串,然後嘗試使用time.strptime解析該字符串,在這兩種情況下使用相同的格式化字符串。Python 3.5.2使用相同的格式化字符串時,strptime無法讀取strftime的輸出?
說明這個示例代碼:
#!/usr/bin/env python
import time
if __name__ == '__main__':
time_test=time.strftime('%Y-%m-%dT%H:%M:%S%z', time.localtime())
print (time_test)
test=time.strptime('%Y-%m-%dT%H:%M:%S%z', time_test)
print (time.strftime('%Y-%m-%d %H:%M:%S', test))
結果我看到:
2017-02-01T11:23:53-0800
Traceback (most recent call last):
File "test_time.py", line 8, in <module>
test=time.strptime('%Y-%m-%dT%H:%M:%S%z', time_test)
File "/usr/local/Python-3.5.2/lib/python3.5/_strptime.py", line 504, in _strptime_time
tt = _strptime(data_string, format)[0]
File "/usr/local/Python-3.5.2/lib/python3.5/_strptime.py", line 343, in _strptime
(data_string, format))
ValueError: time data '%Y-%m-%dT%H:%M:%S%z' does not match format '2017-02-01T11:23:53-0800'