Форум сайта python.su
Вопрос 1.
Почему в приведенном ниже коде для текущего времени с учетом часовых поясов (типа datetime) значение utc offset для разных часовых поясов получается целое (2,3 часа), а для значения datetime созданного для конкретных значений часов, минут, секунда какие-то странные значения: для Каира 02:05, для Киева +02:02, для Лондона -00:01
from datetime import * import pytz d = [] d.append({'tz':pytz.timezone('Africa/Cairo')}) d.append({'tz':pytz.timezone('Europe/Kiev')}) d.append({'tz':pytz.timezone('Europe/London')}) for i in range(len(d)): # d[i].update({'now':now[i]}) d[i].update({'now': datetime.now(d[i].get('tz'))}) d[i].update({'reminder_datetime': datetime(year=1, month=1, day=1, hour=12, minute=0, tzinfo=d[i]['tz'])}) d[i].update({'reminder_time': time(hour=12, minute=0, tzinfo=d[i]['tz'])}) for i in range(len(d)): tz = d[i]['tz'] cur = d[i]['now'] reminder = d[i]['reminder_datetime'] reminder_time = d[i]['reminder_time'] offset = reminder.utcoffset().total_seconds() offset_time = reminder_time.utcoffset().total_seconds()
[code python][/code]
Отредактировано vadim_matveev (Апрель 13, 2022 12:38:01)
Офлайн
В твоём коде нет квадратных скобок. Они пропали. Также нет отступов. Они пропали.
надо так писать отступ скобки[индекс]
Офлайн
py.user.nextСпасибо, исправил.
В твоём коде нет квадратных скобок. Они пропали. Также нет отступов. Они пропали.
Офлайн
Вопрос остался, но обошел проблему следующим образом:
today = datetime.today() zone='Europe/Kiev' timezone(zone).localize(datetime(today.year, today.month, today.day, h, m, 0))
Офлайн
py.user.nextСпасибо. Пошел думать.
В твоём коде нет квадратных скобок. Они пропали. Также нет отступов. Они пропали.
Отредактировано celinedion (Авг. 11, 2023 10:22:12)
Офлайн