Python日期时间格式转换

时间:2012-03-10 00:51:47

标签: python

如果我有一个日期时间对象,比如 -

2012-03-10

我如何将其转换为以下字符串格式 -

Sat, 10 Mar 2012 00:00:00 EDT

3 个答案:

答案 0 :(得分:4)

datetime.strptime("2012-03-10", "%Y-%m-%d").strftime("%a, %d %b %Y %H:%M:%S EDT")

抱歉添加时区的原始方式。有关更好的方法,请参阅this question

答案 1 :(得分:1)

>>> from datetime import datetime as dt
>>> a = dt.now().replace(tzinfo = pytz.timezone('US/Eastern'))
>>> a.strftime('%a, %d %b %Y %H:%M:%S %Z')
'Fri, 09 Mar 2012 20:02:51 EST'

答案 2 :(得分:0)

Python 3.7+,使用dateutil

from datetime import datetime
from dateutil import tz

s = '2012-03-10'
dt = datetime.fromisoformat(s).replace(tzinfo=tz.gettz('US/Eastern'))
print(dt.strftime('%a, %d %b %Y %H:%M:%S %Z'))
>>> 'Sat, 10 Mar 2012 00:00:00 EST'

Python 3.9+,使用zoneinfo

from datetime import datetime
from zoneinfo import ZoneInfo

s = '2012-03-10'
dt = datetime.fromisoformat(s).replace(tzinfo=ZoneInfo('US/Eastern'))