datetime добавить GMT в конец строки? - PullRequest
0 голосов
/ 04 мая 2020

Я мигрирую php код в Python и наткнулся на дату и время. Мой код:

date_raw = datetime.datetime.strptime(data["Campaign_Start_Date"], '%Y-%m-%d')
date_new = date_raw.strftime("%Y-%m-%d"+"T"+"%H:%M:%S GMT")
print(date_new)

# 2020-09-14T00:00:00 GMT

Мой желаемый вывод: 2020-09-14T00:00:00-04:00 Поэтому мне нужно добавить GMT к концу строки, но не могу найти способ вернуть правильный формат.

1 Ответ

2 голосов
/ 04 мая 2020

strptime автоматически не знает о часовом поясе от времени, отформатированного как «% Y-% m-% d», вам придется включить его, например,

from datetime import datetime
import pytz

# parse the string
datestring = '2020-05-04'
date = datetime.strptime(datestring, '%Y-%m-%d')

# add a timezone info
tz = pytz.timezone('US/Eastern')
date_est = tz.localize(date)
# datetime.datetime(2020, 5, 4, 0, 0, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)

print(date_est.isoformat())
# 2020-05-04T00:00:00-04:00
...