Python Data e ora
Date Python
Una data in Python non è un tipo di dati a sé stante, ma possiamo importare un modulo denominato datetime
per lavorare con le date come oggetti data.
Esempio
Importa il modulo datetime e visualizza la data corrente:
import datetime
x = datetime.datetime.now()
print(x)
Data di uscita
Quando eseguiamo il codice dall'esempio sopra, il risultato sarà:
2022-01-29 15:57:11.657852
La data contiene anno, mese, giorno, ora, minuti, secondi e microsecondi.
Il datetime
modulo ha molti metodi per restituire informazioni sull'oggetto data.
Ecco alcuni esempi, ne imparerai di più più avanti in questo capitolo:
Esempio
Restituisci l'anno e il nome del giorno della settimana:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Creazione di oggetti data
Per creare una data, possiamo usare la datetime()
classe (costruttore) del
datetime
modulo.
La datetime()
classe richiede tre parametri per creare una data: anno, mese, giorno.
Esempio
Crea un oggetto data:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
La datetime()
classe accetta anche parametri per l'ora e il fuso orario (ora, minuti, secondi, microsecondi, tzone), ma sono facoltativi e ha un valore predefinito di 0
, ( None
per il fuso orario).
Il metodo strftime()
L' datetime
oggetto dispone di un metodo per formattare gli oggetti data in stringhe leggibili.
Il metodo viene chiamato strftime()
e accetta un parametro,
format
, per specificare il formato della stringa restituita:
Esempio
Visualizza il nome del mese:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Un riferimento di tutti i codici di formato legale:
Directive | Description | Example | Try it |
---|---|---|---|
%a | Weekday, short version | Wed | |
%A | Weekday, full version | Wednesday | |
%w | Weekday as a number 0-6, 0 is Sunday | 3 | |
%d | Day of month 01-31 | 31 | |
%b | Month name, short version | Dec | |
%B | Month name, full version | December | |
%m | Month as a number 01-12 | 12 | |
%y | Year, short version, without century | 18 | |
%Y | Year, full version | 2018 | |
%H | Hour 00-23 | 17 | |
%I | Hour 00-12 | 05 | |
%p | AM/PM | PM | |
%M | Minute 00-59 | 41 | |
%S | Second 00-59 | 08 | |
%f | Microsecond 000000-999999 | 548513 | |
%z | UTC offset | +0100 | |
%Z | Timezone | CST | |
%j | Day number of year 001-366 | 365 | |
%U | Week number of year, Sunday as the first day of week, 00-53 | 52 | |
%W | Week number of year, Monday as the first day of week, 00-53 | 52 | |
%c | Local version of date and time | Mon Dec 31 17:41:00 2018 | |
%C | Century | 20 | |
%x | Local version of date | 12/31/18 | |
%X | Local version of time | 17:41:00 | |
%% | A % character | % | |
%G | ISO 8601 year | 2018 | |
%u | ISO 8601 weekday (1-7) | 1 | |
%V | ISO 8601 weeknumber (01-53) | 01 |