Как я могу получить дату и время в python для указанного c часового пояса? - PullRequest
0 голосов
/ 18 марта 2020

У меня есть UT C datetime, но мне нужно получить числовой час в зависимости от любой заданной строки часового пояса, например: 'America / Los_Angeles'

Мне нужна функция, которая выглядит примерно так:

def get_hour_timezone(utc_datetime, timezone):
    return utc_datetime.hour(AT_SPECIFIC_TIMEZONE)


get_hour_timezone(now(), 'America/Los_Angeles') # This should return 5, because it's 5 AM

get_hour_timezone(now(), 'UTC') # This should return 12, because it's 12 PM (7 hours past Los Angeles because it's utc)

Мне также нужны те же функции для месяца и дня (в том случае, если в 23:00 по Лос-Анджелесу в последний день месяца, но в 2:00 по Гринвичу C время СЛЕДУЮЩЕГО месяца)

1 Ответ

0 голосов
/ 18 марта 2020

Решением было сначала преобразовать дату и время в указанный c часовой пояс.

def get_datetime_with_timezone(dt, tz):
    local_timezone = timezone(tz)
    if dt.tzinfo is None:
        datetime_aware = local_timezone.localize(dt)
    else:
        datetime_aware = dt.astimezone(local_timezone)
    return datetime_aware
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...