Учебники

Python — дата и время

Часто в науке о данных нам нужен анализ, основанный на временных ценностях. Python может корректно обрабатывать различные форматы даты и времени. Библиотека datetime предоставляет необходимые методы и функции для обработки следующих сценариев.

  • Дата Время Представление
  • Дата Время Арифметика
  • Сравнение даты и времени

Мы будем изучать их один за другим.

Дата Время Представление

Дата и ее различные части представлены с использованием различных функций даты и времени. Кроме того, существуют спецификаторы формата, которые играют роль в отображении алфавитных частей даты, таких как название месяца или дня недели. Следующий код показывает сегодняшнюю дату и различные части даты.

import datetime

print 'The Date Today is  :', datetime.datetime.today()

date_today = datetime.date.today()
print date_today
print 'This Year   :', date_today.year
print 'This Month    :', date_today.month
print 'Month Name:',date_today.strftime('%B')
print 'This Week Day    :', date_today.day
print 'Week Day Name:',date_today.strftime('%A')

Когда мы выполняем приведенный выше код, он дает следующий результат.

The Date Today is  : 2018-04-22 15:38:35.835000
2018-04-22
This Year   : 2018
This Month    : 4
Month Name: April
This Week Day    : 22
Week Day Name: Sunday

Дата Время Арифметика

Для вычислений с датами мы храним различные даты в переменных и применяем соответствующий математический оператор к этим переменным.

import datetime 
 
#Capture the First Date
day1 = datetime.date(2018, 2, 12)
print 'day1:', day1.ctime()

# Capture the Second Date
day2 = datetime.date(2017, 8, 18)
print 'day2:', day2.ctime()

# Find the difference between the dates
print 'Number of Days:', day1-day2


date_today  = datetime.date.today() 

# Create a delta of Four Days 
no_of_days = datetime.timedelta(days=4) 

# Use Delta for Past Date
before_four_days = date_today - no_of_days 
print 'Before Four Days:', before_four_days 
 
# Use Delta for future Date
after_four_days = date_today + no_of_days 
print 'After Four Days:', after_four_days 

Когда мы выполняем приведенный выше код, он дает следующий результат.

day1: Mon Feb 12 00:00:00 2018
day2: Fri Aug 18 00:00:00 2017
Number of Days: 178 days, 0:00:00
Before Four Days: 2018-04-18
After Four Days: 2018-04-26

Сравнение даты и времени

Дата и время сравниваются с помощью логических операторов. Но мы должны быть осторожны при сравнении правильных частей дат друг с другом. В приведенных ниже примерах мы берем будущие и прошлые даты и сравниваем их с помощью предложения python if вместе с логическими операторами.

import datetime

date_today  = datetime.date.today() 

print 'Today is: ', date_today
# Create a delta of Four Days 
no_of_days = datetime.timedelta(days=4) 

# Use Delta for Past Date
before_four_days = date_today - no_of_days 
print 'Before Four Days:', before_four_days 

after_four_days =  date_today + no_of_days

date1 = datetime.date(2018,4,4)

print 'date1:',date1

if date1 == before_four_days :
    print 'Same Dates'
if date_today > date1:
    print 'Past Date'
if date1 < after_four_days:
    print 'Future Date'

Когда мы выполняем приведенный выше код, он дает следующий результат.