在表单提交后将时间戳转换为ISO格式

时间:2017-09-27 12:08:52

标签: python datetime python-datetime

新手问题在这里,我不确定这是否是最佳做法,但是:

我希望转换从表单提交中提取的时间戳并将其更改为ISO。出于显示原因,我希望将时间选项显示给用户,如:Sept 30th 2017 11am EST。我希望将其更改为2017-09-30T11:00:00Z。我也试图让这种动态变为动态,如果是Oct 22nd 2017 10am EST则会导致2017-10-22T10:00:00Z

1 个答案:

答案 0 :(得分: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