2016-05-28 2 views
0

Я могу преобразовать на сегодняшний день из метки времени, но преобразование из даты и времени в метку времени дает неверный ответ. вот мой кодКак преобразовать дату и время в метку времени с часовым поясом (Азия/Дубай)?

import datetime 
from pytz import timezone 

datetime.datetime.fromtimestamp(1426017600,timezone("Asia/Dubai")).strftime('%Y-%m-%d %H:%M:%S') 
output:'2015-03-11 00:00:00' 

Как включить часовой пояс при преобразовании назад в timestamp из datetime?

>>datetime.datetime(2015,03,11).strftime('%s') 
output:1426012200 
+0

Другой SO ответ имеет то, что вы ищете [здесь] (http://stackoverflow.com/a/18646797/943773). Посмотрите на вторую часть о переходе с местного времени на другой часовой пояс. – ryanjdillon

ответ

0
from datetime import datetime, time, date 
from pytz import timezone, utc 

tz = timezone("Asia/Dubai") 
d = datetime.fromtimestamp(1426017600,tz) 
print d 
midnight = tz.localize(datetime.combine(date(d.year, d.month, d.day),time(0,0)), is_dst=None) 
print int((midnight - datetime(1970, 1, 1, tzinfo=utc)).total_seconds()) 

на основе кода из python - datetime with timezone to epoch

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