Python Datetime: een uitgebreide gids met voorbeelden

Python Datetime: een uitgebreide gids met voorbeelden

Wanneer u met gegevensprojecten in Python werkt, gebruikt u hoogstwaarschijnlijk datetime-functies. Bijna elke gegevensset waarmee u werkt, heeft een datum/tijd-kolom die u wilt manipuleren volgens uw behoeften en projectvereisten.

Gelukkig wordt Python geleverd met een eigen ingebouwde module genaamd datetime waarmee je bewerkingen kunt weergeven, manipuleren en uitvoeren met datetime-instanties zoals datums, tijden en combinaties van beide. Door de Python datetime-module onder de knie te krijgen, kunt u robuustere tijdreeksanalyses maken in uw projecten.

De Python-datetime-module is een hulpmiddel voor het verwerken van datums, tijden en tijdsintervallen. Hiermee kunt u op een eenvoudige manier verschillende bewerkingen op datums en tijden uitvoeren.

Python Datetime: een uitgebreide gids met voorbeelden

Programmeersamenvatting - broncode en binaire code op display van softwareontwikkelaar. Zwart thema met gekleurde syntaxis.

Door de datetime-module in Python te gebruiken , kunt u eenvoudig met datum- en tijdwaarden werken, tijdzones beheren, berekeningen uitvoeren en zelfs opmaak en parsing voor verschillende representaties afhandelen. Deze functionaliteit maakt de datetime-module tot een essentieel hulpmiddel in veel toepassingen, van gegevensverwerking tot het plannen van evenementen en meer.

Voordat u aan de slag gaat met het gebruik van de datetime-module van Python in uw projecten, is het cruciaal om de onderliggende klassen te begrijpen. In het onderstaande gedeelte zullen we kijken naar de vijf hoofdklassen van de DateTime-module van Python. Laten we erop ingaan!

Inhoudsopgave

Wat zijn de 5 hoofdklassen van de Python Datetime-module?

De Python Datetime-module maakt deel uit van de standaardbibliotheek die klassen biedt om datums, tijden, tijdzones en tijdsduren te manipuleren en ermee te werken.

De module bestaat uit vijf hoofdklassen:

  1. Datum Tijd

  2. Datum,

  3. Tijd,

  4. Tijddelta

  5. Tijdzone.

    We zullen elke klasse bekijken, gevolgd door een voorbeeld van use cases om u te helpen het concept beter te begrijpen.

Hoe de Datetime-klasse te gebruiken

De klasse Python Datetime is de meest gebruikte klasse in de module. Het vertegenwoordigt een enkel tijdstip met attributen zoals jaar, maand, dag, uur, minuut, seconde en microseconde.

Enkele veelvoorkomende bewerkingen met de Python Datetime-klasse zijn:

  • datumtijd.datumtijd.nu()

Met deze functie kunt u de huidige datum en tijd ophalen. Het volgende is een voorbeeld van het ophalen van de huidige datum en tijd:

import datetime

# Get the current date and time
now = datetime.datetime.now()

print("Current date and time: ", now)

Dit zal de huidige datum en tijd uitvoeren op het moment van uitvoering in het formaat JJJJ-MM-DD UU:MM:SS.sssss.

Python Datetime: een uitgebreide gids met voorbeelden

  • datumtijd.datumtijd

Met deze functie kunt u een aangepast datum- en tijdobject maken. Het volgende is een voorbeeld van het gebruik van datetime.datetime in uw code:

from datetime import date

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

print("Custom date and time: ", custom_date)

Naast de bovenstaande functies biedt de klasse Datetime ook methoden voor het werken met datum en tijd, zoals:

Python Datetime: een uitgebreide gids met voorbeelden

  • strftime() :

Met deze methode kunt u de datum- en tijdobjecten opmaken als een tekenreeks. Het volgende is een voorbeeld van de strftime() methode:

import datetime

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

# Format the datetime object as a string
formatted_date = custom_date.strftime("%B %d, %Y, %H:%M")

print("Formatted date and time: ", formatted_date)

Deze code converteert het datetime-object naar een string:

Python Datetime: een uitgebreide gids met voorbeelden

  • strptijd() :

Met deze functie in de klasse datetime kunt u een tekenreeks die datum- en tijdobjecten vertegenwoordigt, ontleden in een enkel Datetime-object. Het volgende is een voorbeeld van het ontleden van een datum die is opgeslagen als een string naar een Datetime-object:

import datetime

# String representing a date and time
date_string = "May 22, 2023, 17:40"

# Parse the string into a datetime object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y, %H:%M")

print("Parsed date and time: ", parsed_date)

Hiermee wordt de tekenreeks omgezet in een DateTime-object.

Python Datetime: een uitgebreide gids met voorbeelden

Hoe de datumklasse te gebruiken

Met de klasse Date kunt u uitsluitend omgaan met datumobjecten (jaar, maand en dag). U kunt datumobjecten maken met de datumklasse.

Enkele veelvoorkomende bewerkingen met de klasse Date zijn:

  • datumtijd.datum.vandaag()

Met deze functie in de datumklasse kunt u de huidige datum ophalen. Het volgende is een voorbeeld van het ophalen van de huidige datum met de datumklasse:

import datetime

# Get the current date
today = datetime.date.today()

print("Today's date: ", today)

Deze Python-code zal de huidige datum uitvoeren op het moment van uitvoering in het formaat JJJJ-MM-DD.

Python Datetime: een uitgebreide gids met voorbeelden

Op het moment van schrijven van dit artikel was de huidige datum 22-05-2023.

  • datumtijd.datum()

Met deze functie in de datumklasse kunt u datumobjecten maken. Het voorbeeld demonstreert het maken van een aangepast datumobject met de functie datetime.date():

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

print("Custom date: ", custom_date)

In de functie datetime.date() geeft u het jaar, de maand en de dag op als argumenten.

Dit script zal 22-05-2023 uitvoeren, aangezien u een aangepast datumobject hebt gemaakt voor de datum 22 mei 2023.

Python Datetime: een uitgebreide gids met voorbeelden

De klasse Date biedt ook handige methoden, zoals:

  • weekdag()

Deze methode in de datumklasse retourneert de dag van de week (0 voor maandag, 1 voor dinsdag, enz.). In het volgende voorbeeld wordt de methode weekday() gedemonstreerd:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Get the day of the week
day_of_week = custom_date.weekday()

print("Day of the week: ", day_of_week)

In dit voorbeeld retourneert custom_date.weekday() 0 omdat 22 mei 2023 op een maandag valt.

Python Datetime: een uitgebreide gids met voorbeelden

  • strftijd()

Met deze methode in de klasse date kunt u het object date opmaken als een tekenreeks . In het volgende voorbeeld wordt de functie strftime() gedemonstreerd:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Format the date object as a string
formatted_date = custom_date.strftime("%B %d, %Y")

print("Formatted date: ", formatted_date)

Dit zal de datum uitvoeren die is opgemaakt als "Maand, dag, jaar".

Python Datetime: een uitgebreide gids met voorbeelden

  • strptijd()

Met deze methode kunt u een tekenreeks die een datum vertegenwoordigt, ontleden in een Date-object. Het volgende is een voorbeeld van het converteren van een tekenreeksdatum naar een object Date:

import datetime

# String representing a date
date_string = "May 22, 2023"

# Parse the string into a date object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y").date()

print("Parsed date: ", parsed_date)

Hiermee wordt het datumobject uitgevoerd dat is gemaakt op basis van de datumreeks.

Python Datetime: een uitgebreide gids met voorbeelden

Hoe de tijdklasse te gebruiken

The Time class allows you to work with time instances (hour, minute, second, microsecond). With the time class, you can create a custom time object with datetime.time().

The following example demonstrates creating a custom time object:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

print("Custom time: ", custom_time)

In the datetime.time() function, you provide the hour and minute as arguments.

This script will output 17:40:00, as specified in the Python code.

Python Datetime: een uitgebreide gids met voorbeelden

The Time class provides useful methods, such as:

  • strftime()

This method allows you to format the time object as a string. Below is an example of this function:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

# Format the time object as a string
formatted_time = custom_time.strftime("%H:%M")

print("Formatted time: ", formatted_time)

This will output the local time formatted as “Hour:Minute”.

Python Datetime: een uitgebreide gids met voorbeelden

  • strptime()

This function allows you to parse a string representing time into a Time object. The following example demonstrates this function:

from datetime import time

# String representing a time
time_string = "17:40"

# Parse the string into a time object
parsed_time = datetime.datetime.strptime(time_string, "%H:%M").time()

print("Parsed time: ", parsed_time)

This will output the time objects created from the time string.

Python Datetime: een uitgebreide gids met voorbeelden

How to Use The Timedelta Class

The Timedelta class allows you to represent represents a duration or difference between two dates or times.

With Timedelta class, you can perform the following operations:

  • Calculate the difference between two dates or times

An example of calculating the difference between two dates is given below:

 import datetime

# Create two custom date objects
date1 = datetime.date(2023, 5, 22)
date2 = datetime.date(2023, 6, 1)

# Calculate the difference between the two dates
date_difference = date2 - date1

print("Difference between the dates is: ", date_difference.days, "days")

In this example, date_difference is a timedelta object representing the difference between date2 and date1. The .days property gives the number of days between the two dates.

Python Datetime: een uitgebreide gids met voorbeelden

  • Add or subtract a duration to a date or time

An example of adding a duration to a date is given below:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Create a duration of 10 days
duration = datetime.timedelta(days=10)

# Add the duration to the date
new_date = custom_date + duration

print("New date: ", new_date)

In this example, duration is a timedelta object representing a duration of 10 days. We use the + operator to add this duration to custom_date.

Python Datetime: een uitgebreide gids met voorbeelden

How to Use the Timezone Class

The Timezone class allows you to handle time zones and daylight saving time adjustments.

You can perform the following operation with timezone class:

  • Create a timezone object

To create a timezone object, you can use the datetime.timezone() function. The following example demonstrates creating a timezone object:

import datetime

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

print("Timezone object: ", two_hours_ahead)

In this example, two_hours_ahead is a timezone object representing a timezone that is 2 hours ahead of Coordinated Universal Time (UTC).

This script will output a timezone object like .

Python Datetime: een uitgebreide gids met voorbeelden

  • Object with a specific timezone

To achieve this, you can use the .replace(tzinfo=tz) function. The following example demonstrates this function:

import datetime

# Create a naive datetime object
naive_datetime = datetime.datetime(2023, 5, 22, 17, 40)

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

# Convert the naive datetime object to an aware object
aware_datetime = naive_datetime.replace(tzinfo=two_hours_ahead)

print("Aware datetime object: ", aware_datetime)

In this example, naive_datetime is a datetime object that does not have any timezone information. The two_hours_ahead variable is a timezone object representing a timezone that is 2 hours ahead of UTC.

The replace(tzinfo=two_hours_ahead) method is used to create a new datetime object with the same date and time as naive_datetime, but with tzinfo set to two_hours_ahead.

Python Datetime: een uitgebreide gids met voorbeelden

The Timezone helps you maintain accurate and consistent time values when working with data that spans multiple time zones.

You have gone through some of the most important functions in the datetime module in Python. In the next section we will implement some of the above functions to a case studywhich will give you a practical look into the implementation of these datetime module in your projects.

Implementing the DateTime Module Functions to a Case Study

Let’s consider a case study where we are given a dataset of different events that happened around the world. The dataset has corresponding dates and times in a string format.

Het is onze taak om deze datums en tijden om te zetten in DateTime-objecten en er naar behoefte bewerkingen op uit te voeren.

Stel dat we de volgende dataset krijgen:

Python Datetime: een uitgebreide gids met voorbeelden

Als we de gegevenstypen van de variabele controleren, zien we dat datum en tijd als een string worden opgeslagen. Daarom moeten we, voordat we een analyse uitvoeren, de datum- en tijdkolommen converteren naar een geschikt formaat.

Hiervoor kunnen we de volgende code gebruiken:

import datetime

# Convert 'Date' and 'Time' strings into datetime objects
df['DateTime'] = df['Date'] + ' ' + df['Time']
df['DateTime'] = df['DateTime'].apply(lambda x: datetime.datetime.strptime(x, "%b %d, %Y %H:%M"))

print(df)

In dit codeblok maken we eerst een nieuwe kolom 'DateTime' in uw DataFrame door de kolommen 'Datum' en 'Tijd' samen te voegen. Vervolgens passen we de functie datetime.strptime toe op elke waarde in deze nieuwe kolom om de tekenreeksen datum en tijd om te zetten in datetime-objecten. Ten slotte printen we de DataFrame uit om het resultaat te zien.

Python Datetime: een uitgebreide gids met voorbeelden

Het volgende dat we willen doen, is het verschil tussen twee gebeurtenissen berekenen. Hiervoor kunnen we de volgende code gebruiken:

duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)

Dit Python-script berekent de duur tussen 'Event1' en 'Event2'.

Python Datetime: een uitgebreide gids met voorbeelden

Laten we tot slot de datetime-objecten converteren naar een andere tijdzone. Wanneer kan dit worden bereikt met behulp van de Timezone-functies in de datetime-module.

# Create a timezone object for UTC
utc_tz = datetime.timezone(datetime.timedelta(0))

# Convert the datetime objects into UTC
df['DateTime_UTC'] = df['DateTime'].apply(lambda x: x.replace(tzinfo=utc_tz))

print(df)

In deze code maken we een tijdzone-object voor UTC. Vervolgens maken we een nieuwe kolom in ons DataFrame met de naam 'DateTime_UTC' door een lambda-functie toe te passen op onze kolom 'DateTime'. Hierdoor wordt de tijdzone-informatie van elk datetime-object vervangen door UTC.

Python Datetime: een uitgebreide gids met voorbeelden

Door de bovenstaande voorbeeldcasestudy ziet u hoe de verschillende functies van de DateTime-module samenwerken om datums en tijden naar een geschikt formaat te manipuleren.

Nu u bekend bent met enkele functies in de datetime-module, gaan we verder en kijken we naar een paar extra functies die u wilt gebruiken als u complexere projecten uitvoert.

Afgezien van de hierboven genoemde functies, zijn er nog veel meer handige functies die u kunt gebruiken, afhankelijk van het probleem dat zich voordoet. Python-ontwikkelaars houden vaak een documentatiepagina open om te zoeken naar functies die aan uw behoeften kunnen voldoen. En we raden u aan hetzelfde te doen!

Aanvullende datum- en tijdfuncties

In deze sectie bespreken we aanvullende functies in de Python- datetime- module. Dit omvat het ophalen van weekdagen, maand- en weekdagnamen, samen met de ctime() functie.

Hoe weekdagen van een datum op te halen

De datetime- module wordt geleverd met een weekday()- functie, die de dag van de week als een geheel getal retourneert (waarbij maandag 0 is en zondag 6).

Om deze functie te gebruiken, kunt u deze aanroepen op een date- of datetime-object.

import datetime

today = datetime.date.today()
weekday_number = today.weekday()

print(weekday_number)

De uitvoer van de bovenstaande code wordt gegeven in de onderstaande afbeelding:

Python Datetime: een uitgebreide gids met voorbeelden

De huidige lokale datum is 23-05-2023 en de weekdag is maandag.

Maand- en weekdagnamen ophalen van een datum

Met datetime kunt u ook de naam van de maand en de dag van de week ophalen.

U kunt de functie strftime() gebruiken , die een datum- of datetime-object opmaakt als een tekenreeks.

Het volgende is een voorbeeld van het gebruik van de functie strftime() om de naam van de maand en de dag van de week te krijgen:

import datetime

today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')

print(weekday_name)
print(month_name)

Deze code drukt de naam van de weekdag en de maand af in de uitvoer.

Python Datetime: een uitgebreide gids met voorbeelden

Hoe de Ctime-functie te gebruiken

De functie ctime() in de datetime- module retourneert een tekenreeksrepresentatie van een datum- of datetime-object, opgemaakt als "Dag ma DD UU:MM:SS JJJJ".

ctime is een methode voor een datetime- object, geen zelfstandige functie.

Het volgende is een voorbeeld van het gebruik van de ctime-functie in uw code:

import datetime

now = datetime.datetime.now()
formatted_date = now.ctime()

print(formatted_date)

De bovenstaande code retourneert een tekenreeksrepresentatie van het datumobject.

Python Datetime: een uitgebreide gids met voorbeelden

Bekijk de volgende video voor meer informatie over het werken met tijdreeksgegevens:

Laatste gedachten

Als Python-programmeur is het belangrijk om de datetime-module onder de knie te krijgen. Het is een toolkit waarmee u kunt omgaan met datums, tijden en tijdsintervallen. Dit zijn de elementen die u vaak tegenkomt in real-world data.

U hebt deze module nodig om tekenreeksen om te zetten in datetime-objecten, tijdzoneconversies af te handelen en bewerkingen op datums en tijden uit te voeren.

Door te leren hoe u de datetime-module gebruikt, bent u beter voorbereid om deze taken in uw eigen projecten uit te voeren!


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten