Библиотека datetime

Перейдите к следующему слайду, нажав кнопку Вправо

Работаем с датой и временем

Подготовлено онлайн-курсом

https://dvmn.org

Текущая дата и время

import datetime

print(datetime.datetime.now())
2018-12-25 14:39:10.592993

Код:

Вывод:

Указать дату и время

import datetime

new_year = datetime.datetime(year=2018,
    month=1, day=1, hour=0)

print(new_year)
print(new_year.date())
print(new_year.time())
2018-01-01 00:00:00
2018-01-01
00:00:00

Код:

Вывод:

Как вычислить вчерашнюю дату

import datetime

today = datetime.date.today()
print(today)

yesterday = today - datetime.timedelta(days=1)
print(yesterday)
2018-12-25

2018-12-24

Код:

Вывод:

Как вычислить дату следующего дня

import datetime

today = datetime.date.today()
print(today)

tomorrow = today + datetime.timedelta(days=1)
print(tomorrow)
2018-12-25

2018-12-26

Код:

Вывод:

Сколько времени прошло между событиями

event1 = datetime.datetime(year=2018,
    month=12, day=24, hour=11)
event2 = datetime.datetime(year=2018,
    month=11, day=22)

delta = event1-event2
print(delta)

print(delta.days)
32 days, 11:00:00

32

Код:

Вывод:

Получение отдельных полей из объекта даты-времени

import datetime

now = datetime.datetime.now()
print(now)
print("year", now.year)
print("month", now.month)
print("minute", now.minute)
2018-12-25 20:53:08.856315

year 2018

month 12

minute 53

Код:

Вывод:

Получение дня недели

import datetime

today = datetime.date.today()
print(today.weekday)
1

Код:

Вывод:

Понедельник - 0

Вторник - 1

Среда - 2

Четверг - 3

Пятница - 4

Суббота - 5

Воскресение - 6

Как сменить формат даты-времени

import datetime

now = datetime.datetime.now()

formatted_date_1 = now.strftime("%d/%m/%Y")
print(formatted_date_1)
25/12/2018

Код:

Вывод:

formatted_date_2 = now.strftime("%d-%m-%Y")
print(formatted_date_2)
formatted_date_3 = now.strftime("%Y-%m-%d-%H.%M.%S")
print(formatted_date_3)
25/12/2018
25-12-2018
25/12/2018
25-12-2018
2018-12-25-20.13.07

Таймстемп из даты-времени

import datetime

local_date = datetime.datetime(year=2018, month=12,
    day=25).timestamp()
utc_date = datetime.datetime(year=2018, month=12,
    day=25, tzinfo=datetime.timezone.utc).timestamp()

print("Локальная дата: ", local_date)
print("В UTC (универсальное время): ", utc_date)
print("Целое число без дробной доли: ", int(utc_date))
Локальная дата:  1545685200.0

В UTC (универсальное время):  1545696000.0

Целое число без дробной доли:  1545696000

Код:

Вывод:

Таймстемп из даты-времени

import datetime

now = datetime.datetime.now()
timestamp = now.timestamp()

print(timestamp)
print("Без дробной части: ", int(timestamp))
1545761302.97381

Без дробной части: 1545761302

Код:

Вывод:

Дата-время из таймстемпа

import datetime

timestamp = 1545761302

date = datetime.datetime.utcfromtimestamp(timestamp)
print(date)
2018-12-25 18:08:22

Код:

Вывод:

Создано для онлайн-курса https://dvmn.org