[[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 |