2017-09-27 117 views
0

新手的問題在這裏,我不知道這是最好的做法,但:轉換時間戳ISO格式表單提交後

我期待轉換時間戳從表單提交的拉,將其更改爲ISO 。出於顯示的原因,我想保持時間選項顯示給用戶,如:Sept 30th 2017 11am EST。我期待將其更改爲2017-09-30T11:00:00Z。我也試圖讓這個動態的,所以如果是Oct 22nd 2017 10am EST它會導致2017-10-22T10:00:00Z

回答

1

可以使用(第三方)dateutil模塊,以幫助解析傳入的時間值:

from dateutil import parser 

ts = parser.parse('Sept 30th 2017 11am EST') 
print(ts.isoformat()) 

print(parser.parse('Oct 22nd 2017 10am EST').isoformat()) 

輸出:

 
2017-09-30T11:00:00 
2017-10-22T10:00:00 

這並失去時區,但是,假設EST爲UTC-5:

>>> print(parser.parse('Sept 30th 2017 11am EST', tzinfos={'EST': -(5*3600)})) 
2017-09-30 11:00:00-05:00 
>>> print(parser.parse('Oct 22nd 2017 10am EST', tzinfos={'EST': -(5*3600)})) 
2017-10-22 10:00:00-05:00 
+1

@Rem:有一個'tzinfos'參數可以傳遞給'parse()',它是一個將時區名稱映射到偏移量的字典。 – mhawke