today example change biblioteca python datetime pytz

example - El objeto datetime de Python muestra un desplazamiento de zona horaria incorrecto



timedelta python example (1)

Intento crear un objeto datetime en python usando datetime y pytz, el desplazamiento que se muestra es incorrecto.

import datetime from pytz import timezone start = datetime.datetime(2011, 6, 20, 0, 0, 0, 0, timezone(''Asia/Kolkata'')) print start

La salida mostrada es

datetime.datetime(2011, 6, 20, 0, 0, tzinfo=<DstTzInfo ''Asia/Kolkata'' HMT+5:53:00 STD>)

Tenga en cuenta que ''Asia / Calcuta'' es IST que es GMT + 5: 30 y no HMT + 5: 53. Esta es una zona horaria estándar de Linux, ¿por qué me equivoco y cómo lo resuelvo?


Consulte: http://bytes.com/topic/python/answers/676275-pytz-giving-incorrect-offset-timezone

En los comentarios, alguien propone usar tzinfo.localize() lugar del constructor de datetime , que hace el truco.

>>> tz = timezone(''Asia/Kolkata'') >>> dt = tz.localize(datetime.datetime(2011, 6, 20, 0, 0, 0, 0)) >>> dt datetime.datetime(2011, 6, 20, 0, 0, tzinfo=<DstTzInfo ''Asia/Kolkata'' IST+5:30:00 STD>)

ACTUALIZACIÓN : En realidad, el pytz.sourceforge.net establece que siempre debe usar localize o astimezone lugar de pasar un objeto de zona horaria a datetime.datetime .