提交表单后将时间戳转换为 ISO 格式
Convert Timestamp to ISO Format after Form Submission
这里是新手问题,我不确定这是否是最佳做法,但是:
我希望转换从表单提交中提取的时间戳并将其更改为 ISO。出于显示原因,我想将时间选项显示给用户,如:Sept 30th 2017 11am EST
。我希望将其更改为 2017-09-30T11:00:00Z
。我也在尝试获得这种动态,所以如果它是 Oct 22nd 2017 10am EST
它将导致 2017-10-22T10:00:00Z
您可以使用(第 3 方)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
这里是新手问题,我不确定这是否是最佳做法,但是:
我希望转换从表单提交中提取的时间戳并将其更改为 ISO。出于显示原因,我想将时间选项显示给用户,如:Sept 30th 2017 11am EST
。我希望将其更改为 2017-09-30T11:00:00Z
。我也在尝试获得这种动态,所以如果它是 Oct 22nd 2017 10am EST
它将导致 2017-10-22T10:00:00Z
您可以使用(第 3 方)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