Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

12 советов для работы с датой и временем

datetime python

Библиотека datetime содержит несколько полезных объектов для работы со временем и датами. Я регулярно пользуюсь ими, и хочу поделиться кое-какими полезными операциями, которые могут помочь вам в работе.

1. Во первых, давайте импортируем библиотеку datetime и создадим три разных объекта:

  • Объект date – для хранения даты;
  • Объект time – для хранения времени;
  • Объект datetime – для хранения и даты и времени.

Для начала создадим объект datetime, мы можем извлечь его время и дату и создать соответствующие объекты:

import datetime
now = datetime.datetime.now()
today = now.date()
moment = now.time()

Если вы впишете все вышеуказанное, вы получите что-то на подобие следующего:

print(now) # datetime.datetime(2017, 4, 14, 16, 38, 46, 271475)
print(today) # datetime.date(2017, 4, 14)
print(moment) # datetime.time(16, 38, 46, 271475)

Здесь мы видим, что время 16 часов 46 минут и 46.171475 секунду, и сегодня 14 Апреля 2017.

2. Вы также можете создать объекты date и time и получить объект datetime python, при помощи метода комбинирования:

today = datetime.date.today()
moment = datetime.datetime.now().time()
now = datetime.datetime.combine(today, moment)

3. Еще один интересный объект, это timedelta, который используется для суммирования или вычитания количества дней:

yesterday = today - datetime.timedelta(1)

Или он может хранить разницу между двумя объектами datetime:

delta = yesterday - today

4. Объекты даты имеют три обязательных аргумента (вы можете изменить их порядок при помощи ключей):

my_date = datetime.date(1984, 6, 24)
my_date = datetime.date(day=24, year=1984, month=6)

5. Объекты времени не имеют обязательных аргументов. Эти три оператора являются эквивалентом:

my_time = datetime.time() 
my_time = datetime.time(0,0) # Час, Минута
my_time = datetime.time(hour=0, minute=0)

6. Изменение одного объекта datetime для получения другого, при помощи метода replace:

another_datetime = my_datetime.replace(year=2014, month=1)

7. Получение объекта datetime, представляющий эпоху 01-01-1970:

epoch = datetime.datetime.utcfromtimestamp(0)

8. Получение количества дней и секунд между эпохой и сейчас, а также получение общего количества прошедших секунд:

delta = now - epoch
days = delta.days
 
seconds = delta.seconds
total_seconds = delta.total_seconds()

9. Восстановление объекта, с использованием количества секунд начиная с эпохи при помощи метода utcfromtimestamp:

now = datetime.datetime.utcfromtimestamp(seconds)

10. Создаем объект date как “1984-06-24”:

string_date = str(my_date)

11. Восстановление объекта со строки, на подобие “1984-06-24”:

my_date = datetime.date(*[int(i) for i in string_date.split("-")])

12. Пишем объект date с настроенным форматом строки при помощи метода strftime:

string_date =  my_date.strftime('%m/%d/%Y')  # Выводит: "06/24/1984"

Спасибо за внимание, надеюсь, эта статья поможет вам при работе с датой и временем в Python!

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)