Блог Толика Вострякова

Живой опыт программирования, Python, Django, современные языки и немного фотографий
Блог - новые записи и ссылки (Atom)

Time zones или временные зоны и pytz -

Питоновская библиотека pytz это просто благодать, сошедшая на меня сегодня :) Конечно большинство знает про эту бибилотеку, просто я впервый раз ее сегодня использовал. Если мы знаем название локальной time zone, то преобразовать серверное время в локальное очень просто (переход на летнее время тоже учитывается):

from pytz import timezone
from datetime import datetime

tz = 'Europe/Moscow'
server_time = datetime.utcnow()
client_time = timezone(tz).fromutc(server_time)

Update: Как подсказывает bw в комментариях, есть еще одна интересная библиотека dateutil

Комментарии: 4

bw - 09.09.2010 Или так:

import pytz, datetime

tz = pytz.timezone('Europe/Moscow')
client_time = datetime.datetime.now(tz)


..bw
Толик Востряков - 09.09.2010 Bw, cпасибо за еще более эффективный код!
bw - 09.09.2010 Сам с этим пакетом познакомился, только когда по сорцам ZTK лазил, а вот на днях, ещё на dateutil натолкнулся (правда ещё не изучал что к чему, и на pypi его нет). Кстати, вместо utcnow, правильнее использовать now(pytz.UTC) (или достаточно отдавать себе отчёт в своих действиях).

p.s. Тебе не хватает на бложике предпросмотра комментария. Не все знают markdown как свои 5 пальцев.

..bw
Толик Востряков - 09.09.2010 Спасибо, bw! Насчет предпросмотра подумаю.

Добавить комментарий:


Буду использовать, только для связи с тобой

Чтобы и другие могли узнать о тебе

Вы можете использовать markdown разметку.

Например:
**жирный**
*курсив*
## Заголовок

Не используйте html-тэги. Все ссылки станут активными, все переводы строк будут заменены на <br>
captcha