5
我喜歡用dateutil.parser.parse
模塊解析日期時間字符串。這很簡單。但是我注意到在我的代碼中,我必須檢查對象是否確實在8601(並意識到)。檢查日期時間字符串是否採用ISO 8601格式
我的結構是:
if parse(datetime).tzinfo==None:
#do something
else:
#make it aware
#do something
,我想實現的東西,如:
if <IS-8601>:
if parse(datetime).tzinfo==None:
#do something
else:
#make it aware
#do something
else:
pass
如果我有一個像8601例如2014-02-28T22:30:00+0200
解析實用程序完成其工作。
如果我有2014-03-20
字符串解析會在對象上添加時間。這不是錯,只是不想要的:2014-03-20 00:00:00
所以,我怎麼能檢查的對象是8601?如果在8601,它是否知道?我不介意改變到另一個日期時間庫。
U可以使用正則表達式。 re.compile(r'^ \ d {4} - \ d {2} - \ d {2} [T] \ d {2}:\ d {2}:\ d {2} [+ - ] \ d {2}:\ d {2} $')' –
不錯的,謝謝 – Diolor
ISO 8601可以在末尾有時區字符,即'Z'而不是偏移量,也可以有毫秒。 –