Мне нужно создать переменную, которая является смещением GMT, где сейчас 7: XX AM - PullRequest
2 голосов
/ 28 мая 2011

Я немного работал над этим и пока не вижу ответа. По сути, мне нужно добавить условное в зависимости от смещения GMT в сценарий. Смещение по Гринвичу должно быть где-то в мире, это 7:00 во время выполнения сценария.

Другими словами, если в Нью-Йорке 7 часов утра, мне нужно написать скрипт на python, который будет возвращать '-4'.

Есть идеи?

UPDATE: Такой сценарий будет работать большую часть времени:

7 - time.gmtime().tm_hour

, но когда по Гринвичу 23:00 (23), возвращаемое значение равно -15, а для -15 нет смещения по Гринвичу (только до -12).

Ответы [ 2 ]

1 голос
/ 28 мая 2011
def OfsToHour(targetHour = 7):
    import datetime
    t = datetime.datetime.utcnow() #or your favored UTC call
    return (((targetHour - t.hour) + 12) % 24) - 12
1 голос
/ 28 мая 2011

Если в Нью-Йорке 07:00, то в 11:00 по Гринвичу.7 - 11 = -4.

Если в Лос-Анджелесе 07:00, то по Гринвичу 14:00.7 - 14 = -7.

Итак, возьмите текущее время по Гринвичу, округлите его до выбранного вами часа и вычтите из 7.

[обновление]

Ах да, нет -15 ... Но все работает мод 24. Так что возьмите 7-time.gmtime().tm_hour, и если оно меньше -12, добавьте 24, чтобы получить правильный ответ.

[Извините, но я на самом деле не знаю Python: -)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...