IT записки

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

Posted in Python by borismor on Ноябрь 16, 2010

Я думаю что лучшая шпаргалка это наглядный пример.
Поэтому вот моя шпаргалка по работе с датами в 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 — год в виде полного числа
About these ads

Комментариев: 6

Subscribe to comments with RSS.

  1. fraks said, on Ноябрь 17, 2010 at 1:51 дп

    %S – секунды. От 0 до 61

    На самом деле до 61 или до 59?

  2. BorisMor said, on Ноябрь 17, 2010 at 4:26 дп

    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.»

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

  3. Аноним said, on Март 21, 2013 at 6:33 дп

    спасибо за проделанную работу. очень удобно и понятно

  4. Аноним said, on Май 8, 2013 at 12:25 пп

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

  5. Саня said, on Октябрь 3, 2013 at 7:04 дп

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

  6. […] Материал взят отсюда. […]


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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Отслеживать

Get every new post delivered to your Inbox.

%d такие блоггеры, как: