Fájlok írása Pytonban!
Elkészült a Python nyelv Szövegfájlok írása tananyagunk! Jó tanulást, jó gyakorlást!

<info9>

Dátum és idő: a datetime modul

Webtárhely, 5% kedvezménnyel!

Most, hogy belevágtál a programozásba, jól jönne egy olcsó webtárhely? A SzerverPlex kedvező árú cPanel tárhelyeit most 5% kedvezménnyel igénybeveheted, és ezzel az info9 fennmaradását is támogatod.

Kattints a gombra, majd a csomag kiválasztása után aktiváld az INFO9 kuponkódot a fizetés előtt.

Szerzek webtárhelyet!

Amikor saját programokat készítünk, időnként szükségünk lehet arra, hogy a programunk ismerje az aktuális dátumot, vagy az aktuális időt - például azért, hogy eldöntsük, melyik tennivalónak járt már le a határideje, vagy épp hány nappal ezelőtt történt egy esemény. Erre a Python datetime modulját használhatjuk. Mivel ez egy önálló modul, így fontos, hogy ha használni szeretnénk, akkor a programunk elején először be kell azt importálnunk az alábbi kódsor elhelyezésével:

import datetime

Ezt követően már kezdhetjük is vele a munkát!

Aktuális időpont lekérdezése

Ahhoz, hogy megtudhassuk a mai dátumot, vagy az aktuális időt, a datetime.datetime.now() utasítást használjuk. Ez visszaad egy datetime típusú objektumot, benne az aktuális időponttal. Ha ezt egy változóban letároljuk, utána könnyedén kinyerhetjük belőle azokat a részeket (pl.: órát, vagy percet), amire épp szükségünk van!

most = datetime.datetime.now()

Ezt követően könnyedén kinyerhetjük a letárolt objektumunkból a keresett információt:

ParaméterLeírás
most.yearA most változóban letárolt időpont évszám része
most.monthA most változóban letárolt időpont hónap része
most.dayA most változóban letárolt időpont nap része
most.hourA most változóban letárolt időpont óra része
most.minuteA most változóban letárolt időpont perc része
most.secondA most változóban letárolt időpont másodperc része

Ezek használatát bemutatja az alábbi kódrészlet:

import datetime

most = datetime.datetime.now()

print("Ma a", most.year,". év ", most.month, ". hónapjának", most.day,". napja van!")
print("Az aktuális idő", most.hour, "óra", most.minute, "perc", most.second, "másodperc.")

if most.hour <= 12:
	print("Jelenleg délelőtt van.")
else:
	print("Jelenleg délután van.")

Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!

Példa megnyitása

Időpont formázása szövegként az strftime függvénnyel

Bár a fentebbi módszert használva könnyedén átalakíthatjuk az aktuális időpontot bármilyen formátumúvá, a pythonnak van egy beépített függvénye, az strftime (string from time, vagyis szöveg időpontból), amelyet kifejezetten ennek a problémának a hatékony megoldására találtak ki. Ha egy datetime objektumon (pl.: a fentebbi példa "most" nevű változóján) meghívjuk az strftime utasítást, megadhatunk neki egy mintát, hogy milyen formátumú szöveggé szeretnénk alakítani a benne található dátumot. Ebben a mintában felhasználhatjuk például az alábbi jelölőket:

JelölőJelentéseJelölőJelentése
%Yév 4 számjeggyel%yév utolsó 2 számjegye
%mhónap sorszáma%Bhónap neve
%dhónap napja%whét napja (0 = vasárnap)
%Hóra 24 órás formátumban%hóra 12 órás formátumban
%Mperc%pAM vagy PM (12 órás formátumhoz)
%Smásodperc%fmiliszekundum (ezred másodperc)
%Whányadik hét az évben (hétfővel kezdődő hetek)%jhányadik nap az évben

Ezekből a jelölőkből összeállíthatjuk a saját dátumformátumainkat! Íme néhány példa, amelyek 2026. március 5. 12:30:07 időpont alapján készültek:

Formátum szövegKimenetMegjegyzés
%Y.%m.%d.2026.03.05.Dátum megjelenítése a "magyarországi" formátumban
%H:%M:%S12:30:07Időpont megjelenítése a "magyarországi" formátumban
%Y, %W. hét2026, 10. hétÉvszám és a hét számának megjelenítése

Ezt a függvényt akár közvetlenül egy print-ben is elhelyezhetjük! Az alábbi mintaprogram például abban segít, hogy megtudhassuk, hányadik hét van jelenleg:

import datetime

most = datetime.datetime.now()

print(most.strftime("%Y. év %W. hete van"))

Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!

Példa megnyitása

Egyéni dátum objektumok létrehozása

Ha dátumokkal, időpontokkal szeretnénk számításokat végezni, erre is használható a datetime modul. Azon kívül, hogy lekérdezzük a jelenlegi időpontot, létrehozhatunk saját datetime objektumokat is konkrét dátum és időpont megadásával. Ha szeretnénk a fentebbi 2026. március 5. 12:30:07 időpontot letárolni, használhatjuk az alábbi kódsort:

idopont = datetime.datetime(2026, 3, 5, 12, 30, 7)

Amennyiben van több datetime objektumunk, használhatjuk rajtuk a kivonás operátort a köztük eltelt idő meghatározására. Ekkor egy timedelta objektumot kapunk eredményül, amelynek a days, valamint seconds tulajdonságai megadják a két időpont közt eltelt teljes napok, valamint az azon felül eltelt másodpercek számát. Íme egy példa:

import datetime

most = datetime.datetime.now()
idopont = datetime.datetime(2026, 3, 5, 12, 30, 7)

kulonbseg = most - idopont

print("Az időpont óta", kulonbseg.days, "nap és", kulonbseg.seconds ,"másodperc telt el.")

Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!

Példa megnyitása

Egyéni dátumok létrehozásakor az alábbi paramétereket használhatjuk:

datetime.datetime([év], [hó], [nap], [óra], [perc], [másodperc], [miliszekundum], [időzóna]) Kötelezően megadandó, az időpont év része, pl.: 1999 Kötelezően megadandó, az időpont hónap része, pl.: március esetén 3 Kötelezően megadandó, az időpont nap része, pl.: 27 Opcionális, az időpont óra része, pl.: 21. Nem kötelező megadni, amennyiben csak a dátum a fontos, úgy az idővel kapcsolatos mezők elhagyhatóak. Opcionális, az időpont perc része, pl.: 57. Nem kötelező megadni, amennyiben csak a dátum a fontos, úgy az idővel kapcsolatos mezők elhagyhatóak. Opcionális, az időpont másodperc része, pl.: 74. Nem kötelező megadni, amennyiben csak a dátum a fontos, úgy az idővel kapcsolatos mezők elhagyhatóak. Opcionális, az időpont ezred másodperc része, amennyiben ilyen pontossággal szeretnénk letárolni az időpontot, pl.: 970. Nem kötelező megadni, amennyiben csak a dátum, vagy csak az óra-perc-másodperc pontosság a fontos, a miliszekundum nem, úgy elhagyhatjuk. Opcionális, az időpont időzónáját jelöli - elhagyható, csak akkor érdemes megfontolni a használatát, ha több különböző időzónában lévő időponttal szeretnénk számolásokat végezni.