Записочка по Python — дата и время

Я думаю что лучшая шпаргалка это наглядный пример.
Поэтому вот моя шпаргалка по работе с датами в Python 🙂

2 модуля отвечают за работу со временем:

  1. time
  2. datetime
now_date = datetime.date.today() # Текущая дата (без времени)
now_time = datetime.datetime.now() # Текущая дата со временем

cur_year = now_date.year # Год текущий
cur_month = now_date.month # Месяц текущий
cur_day = now_date.day # День текущий
cur_hour = now_time.hour # Час текущий
cur_minute = now_time.minute # Минута текущая
cur_second = now_time.second # Секунда текущие
num_week = now_date.isoweekday() # узнаем номер недели (от 1 до 7)

now_date = now_date.replace(2011,6,30) # меняем полностью дату на 30.06.2011
now_date = now_date.replace(day=cur_day) # меняем только день
now_date = now_date.replace(month=cur_month) # меняем только месяц
now_date = now_date.replace(year=cur_year) # меняем только год

ny_2011 = datetime.date(2011,2,1) # создали дату: 1 февраля 2011 года
delta = ny_2011 - now_date # разница (дельта) в между 2-мя датами

delta = datetime.timedelta(days=2) # дельта в 2 дня
now_date = now_date + delta # Узнаем какое число будет через 2 дня
now_date = now_date - delta # или какое число было 2 дня назад

print(now_time.strftime("%d.%m.%Y %I:%M %p")) # форматируем дату

Наиболее интересные директивы используемые для форматирования времени.
Расположены не в алфавитном порядке, а в логическом)

  • %S — секунды. От 0 до 61
  • %M — минуты. От 00 до 59
  • %H — час. От 00 до 23
  • %I — час. От 1 до 12
  • %p -После перед полуднем или после (AM или PM)
  • %d — день. От 1 до 31
  • %j — день как номер года. От 001 до 366
  • %m — месяц. От 01 до 12
  • %y — год в виде 2-х последних чисел. От 00 до 99
  • %Y — год в виде полного числа

Записочка по Python — дата и время: 11 комментариев

  1. BorisMor

    to fraks
    Меня тоже это удивило 🙂
    Но в хэлпе сносочка есть:

    «The range really is 0 to 61; according to the Posix standard this accounts for leap seconds and the (very rare) double leap seconds.»

    Т.е. для «високосных секунд»)

  2. Аноним

    Спасибо, очень пригодилось. Нужная вещь, очень понятно все написано.

  3. Саня

    Спасибо за шпаргалку! Коротко и ясно. Разделяю Ваш подход, для меня лучшая шпаргалка — это код.

  4. Уведомление: Шпаргалка дата и время. | ОКА

  5. Александр К.

    Спасибо, особенно за пример с дельтой и математическим расчетом. Начинающий змееуст. Вот после 2 книг решил чтото внятное создать. Т.к. сам сисадмин пошел на святое, на простой скрипт по резервному копированию. Вот думаю дописать к нему ротацию архивов в директории и вот пришел в уныние, нет знаний по этой части. А тут по примеру сразу как-то все понятно стало, ну и понятно по каким модулям мат. часть копать если что.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *