2016-05-02 5 views
0

Мне нужно найти UTC эквивалентное время для времени PDT.PDT to UTC преобразованный формат объекта datetime

Так что я реализовал код, который выглядит следующим образом:

 utc = pytz.utc 
     local = pytz.timezone ("America/Los_Angeles") 
     begin_localize = local.localize(begin) 
     begin = begin_localize.astimezone(utc) 

     end_localize = local.localize(end) 
     end = end_localize.astimezone(utc) 

Он генерирует выходной сигнал следующим образом:

2016-04-02 07:00:00+00:00 

Тип выглядит следующим образом:

<type 'datetime.datetime'> 

Несмотря на то, что он работает нормально, для моего бэкэнд требуется значение, которое в следующем формате:

2016-04-02 00:00:00 

Также должно быть типа типа 'datetime.datetime'.

Кто-то поможет мне в достижении того же.

ответ

0

Не путайте объект, такой как datetime.datetime и его печатное представление, такое как строка '2016-04-02 00:00:00'. Вы можете получить любой формат, который вам нравится, используя .strftime() method.

Мой бэкенд нуждается в значении, которое в формате следующим образом:
2016-04-02 00:00:00
Также должен быть типа типа «datetime.datetime».

Комментарий предполагает, что вы хотите объект datetime naive. Чтобы удалить данные часового пояса, вы можете использовать .replace() метод:

naive_dt = begin_localize.replace(tzinfo=None) 

Вы можете получить наивный объект, представляющий универсальное время непосредственно:

# <local time> == <utc time> + <utc offset> by definition 
# <utc time> = <local time> - <utc offset> 
naive_utc_dt = naive_local - local_timezone.utcoffset(naive_local) 

Примечание: время, которое naive_local представляет может быть неоднозначным или даже несуществующих в локальном часовом поясе (например, во время перехода DST). Pass is_dst параметр, который необходимо устранить, если необходимо.

Смежные вопросы