0

我发现像这样的问题的答案对我的问题很有帮助,但并不完整。 我有一个用户自动生成日期的表单。我想将其存储为日期时间。

几秒钟后我不需要任何信息,但我找不到 datetime.datetime.strptime 代码来翻译剩余的内容。所以我要么想要一个适用于谷歌应用引擎上的 python2.7 的 strptime 代码,要么想要一个用于删除不需要的额外信息的字符串编辑技巧。

用户日期='2012-09-22 07:36:36.333373-05:00'

4

2 回答 2

1

Python Docs 将是一个很好的起点。strptime() 将是您的最佳选择。

import datetime

datefromuser = '2012-09-22 07:36:36.333373-05:00'
datetime.datetime.strptime(datefromuser.split(".")[0], "%Y-%m-%d %H:%M:%S")

2012-09-22 07:36:36

http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior

于 2012-09-22T16:46:24.300 回答
1

您可以对字符串进行切片以仅选择前 19 个字符:

>>> datefromuser='2012-09-22 07:36:36.333373-05:00'
>>> datefromuser[:19]
'2012-09-22 07:36:36'

这让您无需担心微秒和时区即可解析日期。

请注意,您可能也确实想解析时区。您可以使用该iso8601模块来处理整个格式,而无需切片:

>>> import iso8601
>>> iso8601.parse_date(datefromuser)
datetime.datetime(2012, 9, 22, 7, 36, 36, 333373, tzinfo=<FixedOffset '-05:00'>)

iso8601模块是用纯 python 编写的,可以在 Google App Engine 上正常运行。

于 2012-09-22T16:55:55.200 回答