I have found answers to question like this one helpful but not complete for my problem. 我有一个用户自动生成日期的表单。我想将其存储为日期时间。
我不需要秒后的任何信息,但我找不到datetime.datetime.strptime代码来翻译剩余的东西。因此,我要么想要一个适用于谷歌应用引擎上的python2.7的strptime代码,要么是一个字符串编辑技巧,用于删除不需要的额外信息。
date-from-user ='2012-09-22 07:36:36.333373-05:00'
答案 0 :(得分: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
答案 1 :(得分:1)
您可以将字符串切片为仅选择前19个字符:
>>> datefromuser='2012-09-22 07:36:36.333373-05:00'
>>> datefromuser[:19]
'2012-09-22 07:36:36'
这让你解析日期而不必费心去看微秒和时区。
请注意,您可能做也想要解析时区。您可以使用iso8601
module来处理整个格式,而无需切片:
>>> import iso8601
>>> iso8601.parse_date(datefromuser)
datetime.datetime(2012, 9, 22, 7, 36, 36, 333373, tzinfo=<FixedOffset '-05:00'>)
iso8601
模块是用纯python编写的,在Google App Engine上没有问题。