[[oktatas:programozás:python|< Python]]
====== Python dátum ======
* **Szerző:** Sallai András
* Copyright (c) 2021, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Időpont lekérdezése =====
import time
pillanatok = time.time()
print("Eltelt pillanatok 1970 január 1 12:00 óra óta: ", pillanatok)
helyiido = time.localtime(time.time())
print("Helyi idő: ", helyiido)
# Helyi idő formázva:
helyiido = time.asctime(time.localtime(time.time()))
print("Helyi idő: ", helyiido)
===== Dátum =====
import datetime
datum = datetime.datetime.now()
print(datum)
import datetime
datum = datetime.datetime(2021, 2, 22)
print(datum.strftime("%Y"))
^ Szimbólum ^ Leírás ^
| %Y | év |
| %m | hónap 01-12 |
| %d | nap 01-31 |
| %H | óra 00-23 |
| %M | perc 00-59 |
| %S | másodperc 00-59 |
| %b | hónap névvel röviden |
| %B | hónap névvel |
| %a | a hét napjának neve röviden |
| %A | a hét napjának neve |
| %w | a hét napja számmal, 0 vasárnap |
| %Z | időzóna |
| %z | UTC eltolás |
| %U | az év hete, a hét első napja vasárnap |
| %W | az év napja 001-366, a hét első napja hétfő |
| %j | az év napja 001-366 |
| %x | Local dátum verzió: 02/22/21 |
| %X | Local idő verzió: 23:40:50 |
| %c | Local verzió, dátum és idő: Mon Feb 22 23:40:50 2021 |
| %u | ISO 8601, a hét napja: 1-7 |
| %V | ISO 8601, a hét száma: 01-53 |
| %G | ISO 8601, év: 2021 |
| %f | Mikroszekundum, 000000-999999; pl.: 517329 |
| %l | óra, 00-12 |
| %y | év, két számjeggyel |
import datetime
datum = datetime.date.fromisoformat('2021-02-22')
print(datum.strftime("%Y"))
import datetime
datum = datetime.date.fromisoformat('2021-02-22')
print(datum.year, datum.month, datum.day)
import datetime
datum = datetime.date.fromisoformat('2021-02-22')
# hétfőn az eredmény: 1
print(datum.isoweekday())
==== Műveletek ====
Összehasonlítás
import datetime
erkezes = datetime.date.fromisoformat('2021-02-20')
tavozas = datetime.date.fromisoformat('2021-02-22')
# Ture vagy False
print(erkezes < tavozas)
import datetime
erkezes = datetime.date.fromisoformat('2021-02-20')
tavozas = datetime.date.fromisoformat('2021-02-22')
# Eredmény: 2 days, 0:00:00
print(tavozas - erkezes)
import datetime
erkezes = datetime.date.fromisoformat('2021-02-20')
tavozas = datetime.date.fromisoformat('2021-02-22')
kulonbseg = tavozas - erkezes
# Eredmény: 172800.0
print(kulonbseg.total_seconds())
import datetime
erkezes = datetime.date.fromisoformat('2021-02-20')
tavozas = datetime.date.fromisoformat('2021-02-22')
kulonbseg = tavozas - erkezes
kulonbseg_sec = kulonbseg.total_seconds()
nap = kulonbseg_sec // (24 * 3600)
# Eredmény: 2.0
print(nap)
import datetime
erkezes = datetime.date.fromisoformat('2021-02-20')
tavozas = datetime.date.fromisoformat('2021-02-22')
kulonbseg = tavozas - erkezes
kulonbseg_sec = kulonbseg.total_seconds()
ora = kulonbseg_sec // 3600
# Eredmény: 48.0
print(ora)
==== Dátum és idő ====
erkezes = datetime.datetime.fromisoformat('2021-02-20 12:17:00')
tavozas = datetime.datetime.fromisoformat('2021-02-22 18:12:00')
# Ture vagy False
print(erkezes < tavozas)
==== Átszámolás ====
Legyen 834324 másodperc, amit szeretnénk napokra, órákra, percekre
és másodpercekre bontani.
mas = 834324
nap = mas // (60*60*24)
mas = mas % (60*60*24)
ora = mas // (60*60)
mas = mas % (60*60)
perc = mas // 60
mas = mas % 60
print("%d nap, %d óra, %d perc, %d másodperc" % (nap, ora, perc, mas))
===== A hét napja =====
import datetime
datum = datetime.date.fromisoformat('2021-03-15')
print(datum.weekday())
Eredményül egy egész számot kapunk.
^ Egész érték ^ A hét napja ^
| 0 | hétfő |
| 1 | kedd |
| 2 | szerda |
| 3 | csütörtök |
| 4 | péntek |
| 5 | szombat |
| 6 | vasárnap |