Преобразовать строку datetime в Datetime в Python 2.7 - PullRequest
0 голосов
/ 27 апреля 2019

Я получил дату и время в формате ниже

timestamp = '2019-03-18 01:50:00 -0800'

и хотел преобразовать в datetime в python я пытался, но не смог выбрать смещение UTC

from datetime import datetime
from datetime import timedelta
timestamp = '2019-03-18 01:50:00 -0800'
date_format = '%Y-%m-%d %H:%M:%S %z'
d_t =datetime.strptime(timestamp,date_format)

Ошибка, которую я получаю

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/_strptime.py", line 324, in _strptime
(bad_directive, format))
ValueError: 'z' is a bad directive in format '%Y-%m-%d %H:%M:%S %z'

как выбрать смещение UTC в Python 2.7?

Ответы [ 2 ]

1 голос
/ 27 апреля 2019

Просто используйте dateutil

from dateutil import parser

obj = parser.parse('2019-03-18 01:50:00 -0800')
print(obj)
#2019-03-18 01:50:00-08:00
1 голос
/ 27 апреля 2019

Установить библиотеку pytz

sudo easy_install --upgrade pytz

Импорт pytz в код

from datetime import datetime 
from pytz import timezone 
date_str = "2009-05-05 22:28:15"
datetime_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") #parse only date & time 
datetime_obj_utc = datetime_obj.replace(tzinfo=timezone('UTC')) #get time zone using pytz
print datetime_obj_utc.strftime("%Y-%m-%d %H:%M:%S %Z%z")

Это должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...