time – dátumok és idÅ‘pontok

Ez a modul idÅ‘ és dátumkezelÅ‘ függvényeket tartalmaz – a C futásidejű könyvtárra épülve. A megadott dátum vagy idÅ‘pont lehet idÅ‘bélyeg formátumú (1970 január 1 óta eltelt másodpercek száma), vagy egy tuple.

Mennyi a pontos idő?

# File: time_mennyi_a_pontos_ido.py

import time

most = time.time()

print most, "masodperc telt el ", time.gmtime(0)[:6], "ota"
print
print "Vagy maskepp:"
print "- helyi ido:", time.localtime(most)
print "- utc ido:", time.gmtime(most)
# utc: Coordinated Universal Time roviditese, kb ugyanaz mint a Greenwich-i ido volt.
# File: time_mennyi_a_pontos_ido.out

1150358359.2 masodperc telt el (1970, 1, 1, 0, 0, 0) ota
Vagy maskepp:
- helyi ido: (2006, 6, 15, 9, 59, 19, 3, 166, 1)
- utc ido: (2006, 6, 15, 7, 59, 19, 3, 166, 0)

A localtime és a gmtime által visszaadott tuple tartalma: év, hónap, nap, óra, perc, másodperc, a hét hányadik napja, az év hányadik napja, Napfény-mentő idő van-e.

Daylight Saving Time (Részletek itt): Napfény-mentő idő(számítás). Amikor egy órával elállítják az órát, hogy az aktív napi életvitelre (pl. munka) több napos óra essen, így csökkenthető az áramfogyasztás. A Python esetében: a szám jelzi, hogy mennyit adnak a szabványos időhöz (rendszerint 1 órát). Nyáron ez nálunk 1 óra, mivel egyel előbbre állítjuk az órát.

Az idő-értékek karakterlánccá alakítása

Természetesen a szokásos karakterlánc-formázó műveletekkel az idő tuplét karakterlánccá alakíthatod, ám a time modulnak vannak saját konverziós függvényei is.

# File: time_ido_tuple_karakterlancca_alakitasa.py import time most = time.localtime(time.time()) print time.asctime(most) print time.strftime("%y/%m/%d %H:%M", most) print time.strftime("%a %b %d", most) print time.strftime("%c", most) print time.strftime("%I %p", most) print time.strftime("%Y-%m-%d %H:%M:%S %Z", most) # FONTOS: magyar felhasznalok szamara a magyar nap kiiras erdekes lehet az utolso sorbol. # ugyanez kezzel... ev, ho, nap, ora, perc, masodperc, a_het_ennyiedik_napja, az_ev_ennyiedik_napja, ora_visszaallitas = most print "%04d-%02d-%02d" % (ev, ho, nap) print "%02d:%02d:%02d" % (ora, perc, masodperc) print ("Hetfo", "Kedd", "Szerda", "Csutortok", "Pentek", "Szombat", "Vasarnap")[a_het_ennyiedik_napja], az_ev_ennyiedik_napja
# File: time_ido_tuple_karakterlancca_alakitasa.out

Fri Jun 16 08:51:22 2006
06/06/16 08:51
Fri Jun 16
06/16/06 08:51:22
08 AM
2006-06-16 08:51:22 Közép-európai nyári id&o
tilde;
2006-06-16
08:51:22
Pentek 167

Az idő-értékek karakterlánccá alakítása

A time modul tartalmazza az strptime függvényt, ami az strftime ellentéte. Megadott karakterlánc alapján előállítja a megfelelő idő-tuplét.

# File: time_karakterlancok_atalakitasa_tuple_ido_alakra.py

import time

try: 
    print time.strptime("31 Nov 00", "%d %b %y")
except:
    print "november 30 napos - ez a pelda nem mukodik!"
    
# itt visszakapjuk a karakterlanchoz tartozo tuple idoalakot.
print time.strptime("30 Nov 06", "%d %b %y")
# File: time_karakterlancok_atalakitasa_tuple_ido_alakra.out

november 30 napos - ez a pelda nem mukodik!
(2006, 11, 30, 0, 0, 0, 3, 334, -1)

Idő tuple átalakítása időbélyeggé

# File: time_ido_tuple_atalakitasa_idobelyegge.py

import time

ido = time.time()
helyi_ido = time.localtime(ido)

print ido
print helyi_ido

print "idobelyeg:", time.mktime(helyi_ido)
# File: time_ido_tuple_atalakitasa_idobelyegge.out

1150616830.1(2006, 6, 18, 9, 47, 10, 6, 169, 1)
idobelyeg: 1150616830.0

Algoritmus végrehajtási idejének mérése

Különbség van egy utasítás sorozat lefutási ideje és a processzor által a feladatra fordított idő között. Pl. amikor a felhasználói bemenetre várunk, a processzor minimális időt fordít a feladatra, míg a lefutási idő ketyeg, amíg a felhasználó nem viszi be a kért adatot. Windows-on a két értéket a Python nem tudja megkülönböztetni.

# File: time_algoritmus_vegrehajtasi_ido_merese.py import time def feladat(): print "itt most nagyon dolgozom" raw_input("kerlek uss entert!") # a feldolgozasi ido merese idopont = time.clock() print idopont feladat() print time.clock() - idopont, "masodpercet dolgozott a CPU a feladaton." # a feladat futasi ideje idopont = time.time() feladat() print time.time() - idopont, "masodperc volt a teljes futasi ido"
# File: time_algoritmus_vegrehajtasi_ido_merese.out

0.01
itt most nagyon dolgozom
kerlek uss entert!0.0 masodpercet dolgozott a CPU a feladaton.
itt most nagyon dolgozom
kerlek uss entert!3.79632997513 masodperc volt a teljes futasi ido

Post Comments

You must be logged in to post a comment.