Python - дата и время определенного часового пояса
У меня самое сложное время, чтобы получить текущее время в часовой пояс EDT.
print datetime.time(datetime.now()).strftime("%H%M%S")
datetime.now([tz]) имеет необязательный аргумент tz, но он должен быть типа datetime.tzinfo... Я не мог понять, как определить объект tzinfo для восточного часового пояса... Похоже, это должно быть довольно просто, но я не могу понять это, не импортируя дополнительную библиотеку.
Ответы
Ответ 1
Я не очень разбираюсь в часовом поясе EDT, но этот пример должен служить вашей цели.
import datetime
datetime.datetime.now должна быть передана информация о часовом поясе, которая должна быть типа datetime.tzinfo. Вот класс, который реализует это с некоторыми из необходимых функций. Я не предоставляю никаких дневных световых данных здесь, так как это пример.
class EST(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(hours=-5)
def dst(self, dt):
return datetime.timedelta(0)
Теперь вы можете использовать это, чтобы получить информацию с правильной зоной времени:
print datetime.datetime.now(EST())
Вывод:
2010-11-01 13:44:20.231259-05:00
Ответ 2
Класс tzinfo
определяет только интерфейс, вам необходимо реализовать его самостоятельно (см. документацию для примера) или использовать сторонний модуль, который реализует его, например pytz
.
Изменить. Извините, я пропустил, что вы не хотите импортировать другую библиотеку.