我发现像这样的问题的答案对我的问题很有帮助,但并不完整。 我有一个用户自动生成日期的表单。我想将其存储为日期时间。
几秒钟后我不需要任何信息,但我找不到 datetime.datetime.strptime 代码来翻译剩余的内容。所以我要么想要一个适用于谷歌应用引擎上的 python2.7 的 strptime 代码,要么想要一个用于删除不需要的额外信息的字符串编辑技巧。
用户日期='2012-09-22 07:36:36.333373-05:00'
我发现像这样的问题的答案对我的问题很有帮助,但并不完整。 我有一个用户自动生成日期的表单。我想将其存储为日期时间。
几秒钟后我不需要任何信息,但我找不到 datetime.datetime.strptime 代码来翻译剩余的内容。所以我要么想要一个适用于谷歌应用引擎上的 python2.7 的 strptime 代码,要么想要一个用于删除不需要的额外信息的字符串编辑技巧。
用户日期='2012-09-22 07:36:36.333373-05:00'
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
您可以对字符串进行切片以仅选择前 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 上正常运行。