Python: data e ora
Spesso nella scienza dei dati abbiamo bisogno di un'analisi basata su valori temporali. Python può gestire i vari formati di data e ora con grazia. Ildatetime la libreria fornisce i metodi e le funzioni necessari per gestire i seguenti scenari.
- Rappresentazione della data e dell'ora
- Data e ora Aritmetica
- Confronto data e ora
Li studieremo uno per uno.
Rappresentazione della data e dell'ora
Una data e le sue varie parti sono rappresentate utilizzando diverse funzioni datetime. Inoltre, ci sono specificatori di formato che svolgono un ruolo nella visualizzazione delle parti alfabetiche di una data come il nome del mese o del giorno della settimana. Il codice seguente mostra la data odierna e varie parti della data.
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')
Quando eseguiamo il codice precedente, produce il seguente risultato.
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
Data e ora Aritmetica
Per i calcoli che coinvolgono le date, memorizziamo le varie date in variabili e applichiamo il relativo operatore matematico a queste variabili.
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
Quando eseguiamo il codice precedente, produce il seguente risultato.
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
Confronto data e ora
La data e l'ora vengono confrontate utilizzando operatori logici. Ma dobbiamo stare attenti nel confrontare le parti giuste delle date tra loro. Negli esempi seguenti prendiamo le date future e passate e le confrontiamo usando la clausola if di python insieme agli operatori logici.
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'
Quando eseguiamo il codice precedente, produce il seguente risultato.
Today is: 2018-04-22
Before Four Days: 2018-04-18
date1: 2018-04-04
Past Date
Future Date