Hoe u met datums en tijden in Python omgaat met datetime
Het verwerken van datums en tijden is een veelvoorkomende taak in de programmering, en Python biedt een ingebouwde module genaamd datetime
om met datums en tijden te werken. Deze module biedt klassen voor het manipuleren van datums, tijden en tijdsintervallen, waardoor het eenvoudiger wordt om datumberekeningen uit te voeren, datums te formatteren en tijdzones te beheren. In dit artikel onderzoeken we hoe u de datetime
-module kunt gebruiken om datums en tijden effectief te verwerken in Python.
Aan de slag met datetime
De module datetime
biedt verschillende klassen, zoals datetime.date
, datetime.time
, datetime.datetime
, datetime.timedelta
en datetime.tzinfo
. Met deze klassen kunnen we werken met datums, tijden en tijdsintervallen.
Om de datetime
-module te kunnen gebruiken, moet u deze importeren:
import datetime
Werken met data
U kunt een datumobject maken met de klasse date
. Hiervoor zijn drie parameters nodig: jaar, maand en dag.
from datetime import date
# Create a date object
my_date = date(2023, 9, 4)
print(my_date) # Output: 2023-09-04
U kunt ook toegang krijgen tot afzonderlijke onderdelen van de datum, zoals het jaar, de maand en de dag:
print(my_date.year) # Output: 2023
print(my_date.month) # Output: 9
print(my_date.day) # Output: 4
Werken met Times
Met de klasse time
kunt u een tijdsobject maken. Hiervoor zijn uren, minuten, seconden en microseconden (optioneel) nodig.
from datetime import time
# Create a time object
my_time = time(14, 30, 45)
print(my_time) # Output: 14:30:45
Net als bij datums kunt u toegang krijgen tot afzonderlijke onderdelen van het tijdsobject:
print(my_time.hour) # Output: 14
print(my_time.minute) # Output: 30
print(my_time.second) # Output: 45
Datum en tijd combineren met datetime
De klasse datetime
combineert zowel datum als tijd in één object. U kunt een datetime
-object maken door het jaar, de maand, de dag, het uur, de minuut, de seconde en de microseconde (optioneel) door te geven.
from datetime import datetime
# Create a datetime object
my_datetime = datetime(2023, 9, 4, 14, 30, 45)
print(my_datetime) # Output: 2023-09-04 14:30:45
U hebt toegang tot zowel de datum- als de tijdcomponenten van een datetime
-object:
print(my_datetime.date()) # Output: 2023-09-04
print(my_datetime.time()) # Output: 14:30:45
De huidige datum en tijd ophalen
De module datetime
biedt handige methoden om de huidige datum, tijd of beide op te halen:
# Current date
today = date.today()
print(today) # Output: (current date)
# Current date and time
now = datetime.now()
print(now) # Output: (current date and time)
Datumrekenkunde met timedelta
De klasse timedelta
vertegenwoordigt een duur, wat het verschil is tussen twee datums of tijden. Hiermee kunt u datumberekeningen uitvoeren, zoals het optellen of aftrekken van dagen van een datum.
from datetime import timedelta
# Create a timedelta object
delta = timedelta(days=7)
# Add 7 days to the current date
future_date = today + delta
print(future_date)
U kunt ook het verschil tussen twee data berekenen:
# Calculate the difference between two dates
date1 = date(2023, 9, 4)
date2 = date(2023, 9, 11)
difference = date2 - date1
print(difference.days) # Output: 7
Datums en tijden opmaken
Met de strftime()
-methode kunt u een datum of tijd formatteren in een string. Deze methode gebruikt een formatcode om de gewenste opmaak te specificeren:
# Format a date object
formatted_date = today.strftime('%B %d, %Y')
print(formatted_date) # Output: September 04, 2023
Veelvoorkomende opmaakcodes zijn:
%Y
- Jaar (bijv. 2023)%m
- Maand als een decimaal getal met opvulling van nullen (bijv. 09)%d
- Dag van de maand als een decimaal getal met opvulling van nullen (bijv. 04)%H
- Uur (24-uurs klok) als een decimaal getal met opvulling van nullen (bijv. 14)%M
- Minuut als een decimaal getal met opvulling van nullen (bijv. 30)%S
- Seconde als een decimaal getal met opvulling van nullen (bijv. 45)
Data uit strings parsen
Met de strptime()
-methode kunt u een tekenreeks omzetten in een datetime
-object, op basis van de indeling van de datumtekenreeks:
# Parse a date from a string
date_str = '2023-09-04'
parsed_date = datetime.strptime(date_str, '%Y-%m-%d')
print(parsed_date)
Werken met tijdzones
De datetime
module ondersteunt tijdzone-bewuste datetime
objecten met behulp van de pytz
bibliotheek. Om met tijdzones te werken, moet u pytz
installeren:
pip install pytz
Vervolgens kunt u een tijdzone toewijzen aan een datetime
-object:
from datetime import datetime
import pytz
# Set timezone to UTC
utc_zone = pytz.utc
now_utc = datetime.now(utc_zone)
print(now_utc)
Conclusie
De datetime
module in Python biedt krachtige tools voor het verwerken van datums en tijden, waaronder het maken, formatteren, parsen en uitvoeren van rekenkundige bewerkingen met datum- en tijdobjecten. Of u nu datums moet manipuleren, met tijdzones moet werken of datums en tijden moet formatteren voor weergave, de datetime
module heeft alles wat u nodig hebt.