如何将字符串转换为指定的数据时间格式?例如:如何将字符串转换为数据时间格式?
str = 'Wed Mar 16 16:12:05 2016 +0800'
如何将它转换为:2016-03-16 16:12:05
?
如何将字符串转换为指定的数据时间格式?例如:如何将字符串转换为数据时间格式?
str = 'Wed Mar 16 16:12:05 2016 +0800'
如何将它转换为:2016-03-16 16:12:05
?
使用datatime
库的时间字符串由**strptime()**
和DateTime对象由**strftime()**
转换成DateTime对象,日期时间strign。
格式模式:
演示:
>>> from datetime import datetime
>>> result_date = datetime.strptime('Wed Mar 16 16:12:05 2016', '%a %b %d %H:%M:%S %Y')
>>> result_date
datetime.datetime(2016, 3, 16, 16, 12, 5)
>>> result_date.strftime("%Y-%m-%d %H:%M:%S")
'2016-03-16 16:12:05'
注意:
srt
非常感谢所有善良的人的帮助:) – JiangLing
你可以做到这一点使用strptime:
import datetime
myDatetime=datetime.datetime.strptime(My_string, format)
与格式是如"%Y-%m-%d %H:%M:%S"
的年,月,日,时分秒,所以你的情况这将是日,月的“名,一天,等...
是的,我参考手册,它可以工作,非常感谢 – JiangLing
箭头是在一个非常straightoforward的方式做这一个伟大的模块: http://crsmithdev.com/arrow/
我perfer箭头,日期时间,因为它是莫再简洁
为您具体的例子:
import arrow
date_str = 'Wed Mar 16 16:12:05 2016 +0800'
date = arrow.get(date_str,'ddd MMM D HH:mm:SS YYYY Z')
print date
2016-03-16T16:12:00.050000+08:00
>>>
而且,这是一个坏主意,名称字符串
str
由于这被认为是,对于字符串类型!
为什么选择Arrow?我相信它比DATETIME一个更好的API:
>>> date.humanize()
3: u'2 days ago'
>>> date.resolution
4: datetime.timedelta(0, 0, 1)
>>> date.datetime
5: datetime.datetime(2016, 3, 16, 16, 12, 0, 50000, tzinfo=tzoffset(None, 28800))
>>> date.utctimetuple()
7: time.struct_time(tm_year=2016, tm_mon=3, tm_mday=16, tm_hour=8, tm_min=12, tm_sec=0, tm_wday=2, tm_yday=76, tm_isdst=0)
>>>
什么是'+ 0800'? –
感谢所有,我用strptime + strftime,它可以工作 – JiangLing