2017-09-27 112 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