如何将字符串转换为指定的日期时间格式?例如:
str = 'Wed Mar 16 16:12:05 2016 +0800'
如何将其转换为:2016-03-16 16:12:05
?
答案 0 :(得分:3)
Arrow是一个非常直接的方式: http://crsmithdev.com/arrow/
我将箭头指向日期时间,因为它更简洁
对于您的具体示例:
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
这样做,对于字符串类型!
为什么选择箭头?我相信它比日期时间更好:
>>> 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)
>>>
答案 1 :(得分:2)
您可以使用 strptime :
执行此操作import datetime
myDatetime=datetime.datetime.strptime(My_string, format)
格式为"%Y-%m-%d %H:%M:%S"
年月日,小时分秒,因此在您的情况下,它将是'日,月,日等的名称......
答案 2 :(得分:2)
使用datetime
库将日期时间字符串转换为**strptime()**
的datetime对象,并将日期时间对象转换为日期时间**strftime()**
。
格式化模式:
<强>演示:强>
>>> 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