Перейти к содержанию

Начало урока

Даты и время

Моделируйте реальные моменты в коде: создавайте их, выполняйте арифметику и превращайте в текст и обратно

Главная идея: Время кажется человеку простым, но для программы полно ловушек — месяцы разной длины, високосные годы и часы, которые прыгают из-за перехода на летнее время. Модуль datetime в Python даёт настоящие объекты, понимающие всё это, поэтому вам больше не нужно вручную жонглировать голыми числами и строками.
К концу вы сможете:
  • создавать объекты date, time и datetime и читать их поля,
  • измерять и сдвигать время с помощью timedelta,
  • превращать datetime в текст через strftime и читать текст обратно через strptime,
  • объяснять разницу между наивным (naive) и осведомлённым (aware) datetime и присоединять часовой пояс.

1. Почему время сложнее, чем кажется

Представьте конкретный момент — например, миг отправления поезда. Чтобы точно его зафиксировать, нужна календарная часть (какой день) и часовая часть (какое время суток), а иногда и третье: где на Земле идут эти часы. Двое могут сказать "три часа" и иметь в виду моменты, отличающиеся на несколько часов.

Аналогия: обычное число вроде 1500 — как фотография без подписи: это минуты, год или цена? Объект datetime — та же фотография с подписью: он знает, что 1500 — это год, что 30 — допустимая минута, но не допустимый месяц, и что прибавление одного дня к 31 января даёт 1 февраля, а не 32 января. Именно это встроенное знание и есть причина предпочитать объекты вычислениям над голыми числами.

Если вы храните дату строкой вроде "2026-07-15", а затем спрашиваете "какая дата через 45 дней?", вы в тупике — строки не умеют арифметику. Сначала преобразуйте в datetime, выполните вычисления, а затем при необходимости показа снова превратите в строку.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя