Python -datumtijd
Python-datums
Een datum in Python is geen eigen gegevenstype, maar we kunnen een module met de naam importeren datetime
om met datums als datumobjecten te werken.
Voorbeeld
Importeer de datetime-module en toon de huidige datum:
import datetime
x = datetime.datetime.now()
print(x)
Datum uitvoer
Wanneer we de code uit het bovenstaande voorbeeld uitvoeren, is het resultaat:
2022-01-29 15:59:25.221180
De datum bevat jaar, maand, dag, uur, minuut, seconde en microseconde.
De datetime
module heeft veel methoden om informatie over het datumobject te retourneren.
Hier zijn een paar voorbeelden, later in dit hoofdstuk kom je er meer over te weten:
Voorbeeld
Retourneer het jaar en de naam van de weekdag:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Datumobjecten maken
Om een datum aan te maken, kunnen we de datetime()
klasse (constructor) van de
datetime
module gebruiken.
De datetime()
klasse heeft drie parameters nodig om een datum te creëren: jaar, maand, dag.
Voorbeeld
Maak een datumobject:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
De datetime()
klasse gebruikt ook parameters voor tijd en tijdzone (uur, minuut, seconde, microseconde, tzone), maar deze zijn optioneel en hebben een standaardwaarde van 0
, ( None
voor tijdzone).
De strftime()-methode
Het datetime
object heeft een methode voor het opmaken van datumobjecten in leesbare strings.
De methode wordt aangeroepen strftime()
, en heeft één parameter,
format
, nodig om het formaat van de geretourneerde tekenreeks te specificeren:
Voorbeeld
Geef de naam van de maand weer:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Een referentie van alle codes van het juridische formaat:
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 |