Python Datetime: Átfogó útmutató példákkal

Amikor Pythonban adatprojektekkel dolgozik, valószínűleg dátum-idő függvényeket használ. Szinte minden adatkészlethez, amellyel dolgozni fog, lesz egy dátum és idő oszlop, amelyet az igényeinek és a projekt követelményeinek megfelelően módosítani szeretne.

Szerencsére a Python saját beépített, datetime nevű modullal rendelkezik , amely lehetővé teszi a dátumidő-példányok ábrázolását, manipulálását és műveletek végrehajtását, például dátumokat, időpontokat és a kettő kombinációit. A Python datetime moduljának elsajátítása segít robusztusabb idősorelemzések készítésében a projektekben.

A Python datetime modul a dátumok, időpontok és időintervallumok kezelésére szolgáló eszköz. Lehetővé teszi a különböző műveletek egyszerű végrehajtását dátumokon és időpontokban.

Python Datetime: Átfogó útmutató példákkal

Programozási absztrakt – forráskód és bináris kód a szoftverfejlesztő kijelzőjén. Fekete téma színes szintaxissal.

A dátum-idő modul használatával egyszerűen dolgozhat a dátum- és időértékekkel, kezelheti az időzónákat, végezhet számításokat, és még a formázást és elemzést is kezelheti a különféle ábrázolásokhoz. Ez a funkció a datetime modult számos alkalmazás alapvető eszközévé teszi, az adatfeldolgozástól az eseményütemezésig és azon túl is.

Mielőtt elkezdené használni a Python datetime modulját a projektekben, döntő fontosságú, hogy megértse a mögöttes osztályait. Az alábbi részben a Python DateTime moduljának öt fő osztályát tekintjük meg. Menjünk bele!

Tartalomjegyzék

Mi a Python Datetime Modul 5 fő osztálya?

A Python Datetime modul a szabványos könyvtár része, amely osztályokat biztosít a dátumok, időpontok, időzónák és időtartamok kezeléséhez és kezeléséhez.

A modul öt fő osztályból áll:

  1. Dátum idő

  2. Dátum,

  3. Idő,

  4. Timedelta

  5. Időzóna.

    Megvizsgálunk minden osztályt, majd egy használati esetet mutatunk be, hogy segítsünk jobban megérteni a koncepciót.

Hogyan használjuk a Datetime osztályt

A Python Datetime osztály a modul leggyakrabban használt osztálya. Egyetlen időpontot képvisel olyan attribútumokkal, mint az év, hónap, nap, óra, perc, másodperc és mikroszekundum.

Néhány gyakori művelet a Python Datetime osztállyal:

  • dátumidő.dátumidő.most()

Ez a funkció lehetővé teszi az aktuális dátum és idő lekérdezését. A következő példa az aktuális dátum és idő lekérésére:

import datetime

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

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

Ez az aktuális dátumot és időt a végrehajtás pillanatában ÉÉÉÉ-HH-NN ÓÓ:PP:SS.ssssss formátumban adja ki.

Python Datetime: Átfogó útmutató példákkal

  • datetime.datetime

Ez a funkció lehetővé teszi egyéni dátum és idő objektumok létrehozását. A következő példa a datetime.datetime használatára a kódban:

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)

A fenti függvényeken kívül a Datetime osztály olyan módszereket is biztosít a dátummal és idővel való munkavégzéshez, mint például:

Python Datetime: Átfogó útmutató példákkal

  • strftime() :

A metódus lehetővé teszi a dátum és idő objektumok karakterláncként történő formázását. A következő példa az strftime() metódusra:

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)

Ez a kód a datetime objektumot karakterláncsá alakítja:

Python Datetime: Átfogó útmutató példákkal

  • strptime() :

Ez a függvény a datetime osztályban lehetővé teszi a dátum és idő objektumokat reprezentáló karakterlánc egyetlen Datetime objektummá történő elemzését. A következő példa egy karakterláncként tárolt dátum Datetime objektumra történő elemzésére látható:

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)

Ez átalakítja a karakterláncot DateTime objektummá.

Python Datetime: Átfogó útmutató példákkal

A dátum osztály használata

A Dátum osztály lehetővé teszi, hogy kizárólag dátumobjektumokkal (év, hónap és nap) foglalkozzon. Dátum objektumokat hozhat létre a dátum osztállyal.

Néhány gyakori művelet a Dátum osztállyal:

  • dátumidő.dátum.ma()

Ez a függvény a dátum osztályban lehetővé teszi az aktuális dátum lekérését. A következő példa az aktuális dátum lekérésére szolgál a dátumosztállyal:

import datetime

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

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

Ez a Python-kód az aktuális dátumot adja ki a végrehajtás pillanatában ÉÉÉÉ-HH-NN formátumban.

Python Datetime: Átfogó útmutató példákkal

A cikk írásakor az aktuális dátum 2023-05-22 volt.

  • datetime.date()

Ez a függvény a dátum osztályban lehetővé teszi dátum objektumok létrehozását. A példa egy egyéni dátumobjektum létrehozását mutatja be datetime.date() függvénnyel:

import datetime

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

print("Custom date: ", custom_date)

A datetime.date() függvényben argumentumként adja meg az évet, a hónapot és a napot.

Ez a szkript 2023-05-22-t fog kiadni, mivel egyéni dátumobjektumot hozott létre a 2023. május 22-i dátumhoz.

Python Datetime: Átfogó útmutató példákkal

A Dátum osztály hasznos módszereket is kínál, mint például:

  • hétköznap()

Ez a metódus a dátum osztályban a hét napját adja vissza (0 a hétfő, 1 a kedd stb.). A következő példa a hétköznap() metódust mutatja be:

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)

Ebben a példában a custom_date.weekday() 0-t ad vissza, mert 2023. május 22-e hétfőre esik.

Python Datetime: Átfogó útmutató példákkal

  • strftime()

Ez a dátum osztály metódusa lehetővé teszi a dátum objektum karakterláncként történő formázását . A következő példa az strftime() függvényt mutatja be:

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)

Ez a dátumot „Hónap nap, év” formátumban adja ki.

Python Datetime: Átfogó útmutató példákkal

  • strptime()

Ez a módszer lehetővé teszi egy dátumot reprezentáló karakterlánc Date objektummá történő elemzését. A következő példa egy karakterlánc dátum Date objektummá konvertálására:

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)

Ez kiírja a dátum karakterláncból létrehozott dátum objektumot.

Python Datetime: Átfogó útmutató példákkal

Az időosztály használata

Az Idő osztály lehetővé teszi, hogy időpéldányokkal dolgozzon (óra, perc, másodperc, mikroszekundum). Az időosztállyal egyéni időobjektumot hozhat létre a datetime.time() paraméterrel.

A következő példa egy egyéni időobjektum létrehozását mutatja be:

import datetime

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

print("Custom time: ", custom_time)

A datetime.time() paraméterben az órát és a percet adja meg argumentumként.

Ez a szkript 17:40:00-at ad ki a Python-kódban meghatározottak szerint.

Python Datetime: Átfogó útmutató példákkal

A Time osztály hasznos módszereket kínál, mint például:

  • strftime()

Ezzel a módszerrel az időobjektumot karakterláncként formázhatja. Az alábbiakban egy példa erre a funkcióra:

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)

Ez a helyi időt „Óra:perc” formátumban adja ki.

Python Datetime: Átfogó útmutató példákkal

  • strptime()

Ez a funkció lehetővé teszi az időt reprezentáló karakterlánc időobjektummá történő elemzését. A következő példa ezt a funkciót mutatja be:

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)

Ez kiírja az idő karakterláncból létrehozott időobjektumokat.

Python Datetime: Átfogó útmutató példákkal

A Timedelta osztály használata

A Timedelta osztály lehetővé teszi, hogy két dátum vagy időpont közötti időtartamot vagy különbséget ábrázolja.

A Timedelta osztállyal a következő műveleteket hajthatja végre:

  • Számítsa ki két dátum vagy időpont közötti különbséget

Az alábbiakban látható egy példa a két dátum közötti különbség kiszámítására:

 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: Átfogó útmutató példákkal

  • 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: Átfogó útmutató példákkal

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: Átfogó útmutató példákkal

  • 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: Átfogó útmutató példákkal

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

A legtöbben mentél keresztül. A következő részben a fenti funkciók közül néhányat megvalósítunk egy esettanulmányban, amely gyakorlati betekintést nyújt ezeknek a datetime moduloknak a projektjeiben való megvalósításába.

A DateTime modul függvényeinek megvalósítása egy esettanulmányban

Tekintsünk egy esettanulmányt, amelyben adathalmazt kapunk a világ különböző részein történt eseményekről. Az adatkészlet a megfelelő dátumokat és időpontokat karakterlánc formátumban tartalmazza.

Feladatunk, hogy ezeket a dátumokat és időpontokat DateTime objektumokká alakítsuk, és szükség szerint műveleteket hajtsunk végre rajtuk.

Tegyük fel, hogy a következő adatkészletet kapjuk:

Python Datetime: Átfogó útmutató példákkal

Ha ellenőrizzük a változó adattípusait, látni fogjuk, hogy a dátum és az idő karakterláncként van tárolva. Ezért, mielőtt bármilyen elemzést végzünk, át kell alakítanunk a dátum és az idő oszlopait megfelelő formátumra.

Ehhez a következő kódot használhatjuk:

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)

Ebben a kódblokkban először létrehozunk egy új „DateTime” oszlopot a DataFrame-ben a „Dátum” és „Idő” oszlopok összefűzésével. Ezután az új oszlop minden értékére alkalmazzuk a datetime.strptime függvényt, hogy a dátum- és időkarakterláncokat datetime objektumokká konvertáljuk. Végül kinyomtatjuk a DataFrame-et, hogy lássuk az eredményt.

Python Datetime: Átfogó útmutató példákkal

A következő dolog, amit szeretnénk tenni, az az, hogy kiszámoljuk két esemény közötti különbséget. Ehhez a következő kódot használhatjuk:

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

Ez a Python-szkript kiszámítja az „Esemény1” és az „Esemény2” közötti időtartamot.

Python Datetime: Átfogó útmutató példákkal

Végül alakítsuk át a datetime objektumokat egy másik időzónává. Mikor lehet ezt elérni a datetime modul Timezone funkcióival.

# 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)

Ebben a kódban létrehozunk egy UTC időzóna objektumot. Ezután egy új oszlopot hozunk létre a DataFrame-ben 'DateTime_UTC' néven úgy, hogy lambda függvényt alkalmazunk a 'DateTime' oszlopunkra. Ez lecseréli az egyes datetime objektumok időzóna-információit UTC-re.

Python Datetime: Átfogó útmutató példákkal

A fenti példa-esettanulmányon keresztül láthatja, hogy a DateTime modul által biztosított különféle funkciók hogyan működnek együtt a dátumok és időpontok megfelelő formátumba történő manipulálásához.

Most, hogy már ismeri a datetime modul néhány funkcióját, nézzünk meg néhány további funkciót, amelyeket összetettebb projektek végrehajtása során használni szeretne.

A fent felsorolt ​​funkciókon kívül számos további hasznos funkció is használható az adott problémától függően. A Python fejlesztői gyakran nyitva tartanak egy dokumentációs oldalt, hogy olyan funkciókat keressenek, amelyek megfelelnek az Ön igényeinek. És javasoljuk, hogy tedd ugyanezt!

További dátum és idő funkciók

Ebben a részben a Python datetime moduljának további funkcióit tárgyaljuk . Ez magában foglalja a hétköznapok, hónapok és hétköznapok nevének lekérését, valamint a ctime() függvényt.

Hogyan lehet lekérni a hétköznapokat egy randevúról

A datetime modulhoz tartozik egy weekday() függvény, amely a hét napját egész számként adja vissza (ahol a hétfő 0 és a vasárnap 6).

A funkció használatához meghívhatja egy dátum vagy dátumidő objektumra.

import datetime

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

print(weekday_number)

A fenti kód kimenete az alábbi képen látható:

Python Datetime: Átfogó útmutató példákkal

A jelenlegi helyi dátum 2023.05.23., a hét napja pedig hétfő.

Hogyan lehet lekérni a hónapok és a hétköznapok neveit egy dátumból

datetime lehetővé teszi a hónap nevének és a hét napjának lekérését is.

Használhatja az strftime() függvényt, amely egy dátum vagy dátumidő objektumot karakterláncként formáz.

A következő egy példa arra, hogyan kell az strftime() függvényt használni a hónap nevének és a hét napjának lekéréséhez:

import datetime

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

print(weekday_name)
print(month_name)

Ez a kód a hét napjának és hónapjának neve lesz a kimenetben.

Python Datetime: Átfogó útmutató példákkal

A Ctime függvény használata

A datetime modul ctime() függvénye egy dátum vagy dátumidő objektum karakterlánc-ábrázolását adja vissza, „Day H DD ÓÓ:PP:SS ÉÉÉÉ” formátumban.

A ctime egy datetime objektum metódusa , nem pedig önálló függvény.

A következő példa a ctime függvény használatára a kódban:

import datetime

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

print(formatted_date)

A fenti kód a dátum objektum karakterlánc reprezentációját adja vissza.

Python Datetime: Átfogó útmutató példákkal

Ha többet szeretne megtudni az idősoros adatokkal való munkavégzésről, tekintse meg a következő videót:

Végső gondolatok

Python programozóként fontos a datetime modul elsajátítása. Ez egy eszközkészlet, amely lehetővé teszi a dátumok, időpontok és időintervallumok kezelését. Ezek azok az elemek, amelyekkel gyakran találkozhat a valós adatokban.

Erre a modulra szüksége lesz a karakterláncok dátum-idő objektumokká konvertálásához, az időzóna-konverziók kezeléséhez, valamint a dátumokkal és időpontokkal kapcsolatos műveletek végrehajtásához.

Azáltal, hogy megtanulja a datetime modul használatát, felkészültebb lesz ezeknek a feladatoknak a saját projektjei során történő kezelésére!


Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek

Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek

Hogyan kommentáljunk Pythonban – Rövid útmutató kezdőknek

Mi az a Power Query & M Language: Részletes áttekintés

Mi az a Power Query & M Language: Részletes áttekintés

Ez az oktatóanyag áttekintést nyújt a Power Query szerkesztőről és az M nyelvről a LuckyTemplates asztalon.

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Oldalszámozott jelentés készítése: Szövegek és képek hozzáadása

Ismerje meg, hogyan hozhat létre oldalszámozott jelentést, hogyan adhat hozzá szövegeket és képeket, majd exportálhatja a jelentést különböző dokumentumformátumokba.

A SharePoint automatizálási szolgáltatás | Bevezetés

A SharePoint automatizálási szolgáltatás | Bevezetés

Ismerje meg, hogyan használhatja a SharePoint automatizálási funkcióját munkafolyamatok létrehozására, és segít a SharePoint-felhasználók, -könyvtárak és -listák mikrokezelésében.

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Oldja meg az adatelemzési kihívást a LuckyTemplates Accelerator segítségével

Fejlessze jelentéskészítési készségeit, ha csatlakozik egy adatelemzési kihíváshoz. Az Accelerator segítségével LuckyTemplates szuperfelhasználóvá válhatsz!

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Összesítések futtatása a LuckyTemplates alkalmazásban a DAX segítségével

Ismerje meg, hogyan számíthatja ki a futó összegeket a LuckyTemplates programban a DAX segítségével. Az összesítések futtatása lehetővé teszi, hogy ne ragadjon le egyetlen egyéni eredménynél sem.

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

A LuckyTemplates Dax-változói állandóak: mit jelent ez?

Ismerje meg a változók fogalmát a DAX-ban a LuckyTemplates-en belül, és a változók hatásait a mérőszámok kiszámítására.

LuckyTemplates lejtődiagram: Áttekintés

LuckyTemplates lejtődiagram: Áttekintés

Tudjon meg többet a LuckyTemplates Slope diagram nevű egyéni vizualizációról, amely egyetlen vagy több mérőszám növekedésének/csökkenésének megjelenítésére szolgál.

LuckyTemplates színes témák az egységes vizualizációkhoz

LuckyTemplates színes témák az egységes vizualizációkhoz

Fedezze fel a LuckyTemplates színtémáit. Ezek elengedhetetlenek ahhoz, hogy jelentései és vizualizációi zökkenőmentesen nézzenek ki és működjenek.

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Átlag kiszámítása LuckyTemplatesben: Hétköznapi vagy hétvégi eredmények elkülönítése a DAX segítségével

Az átlag kiszámítása a LuckyTemplates alkalmazásban számos módon elvégezhető, hogy pontos információkat kapjon üzleti jelentéseihez.