52 / 59

Python time Module

time moduli bilan tanishish

Pythondagi time moduli vaqtga oid vazifalarni bajarish uchun funksiyalarni taqdim etadi.

Vaqtga oid vazifalarga quyidagilar kiradi,

  • joriy vaqtni o'qish
  • vaqtni formatlash
  • belgilangan soniyalar davomida kutish (sleep) va h.k.

Python time.time() funksiyasi

Pythonda, time() funksiyasi epoch'dan (vaqt boshlanadigan nuqta) beri o'tgan soniyalar sonini qaytaradi.

Unix tizimi uchun, 1970-yil 1-yanvar, 00:00:00 (UTC) — epoch.

Keling, bir misolni ko'ramiz,

example.py
# time modulini import qilish
import time

# epoch'dan beri o'tgan joriy vaqtni soniyalarda olish
seconds = time.time()

print("Seconds since epoch =", seconds)	

# Natija: Seconds since epoch = 1672214933.6804628

Yuqoridagi misolda, biz epoch'dan beri o'tgan joriy vaqtni soniyalarda olish uchun time.time() funksiyasidan foydalandik va natijani chop etdik.

Python time.ctime() funksiyasi

Pythonda time.ctime() funksiyasi epoch'dan beri o'tgan soniyalarni argument sifatida oladi va lokal vaqtni ifodalovchi satrni qaytaradi.

example.py
import time

# epoch'dan beri o'tgan soniyalar
seconds = 1672215379.5045543

# epoch'dan beri o'tgan vaqtni soniyalarda o'qilishi oson formatga aylantirish
local_time = time.ctime(seconds)

print("Local time:", local_time)

Natija

kod
Local time: Wed Dec 28 08:16:19 2022

Bu yerda, biz epoch'dan beri o'tgan vaqtni soniyalarda o'qilishi oson formatga aylantirish uchun time.ctime() funksiyasidan foydalandik va natijani chop etdik.

Python time.sleep() funksiyasi

sleep() funksiyasi joriy oqim (thread)ning bajarilishini berilgan soniyalar soniga to'xtatib turadi (kechiktiradi).

example.py
import time

print("Printed immediately.")
time.sleep(2.4)
print("Printed after 2.4 seconds.")

Natija

kod
Printed immediately.
Printed after 2.4 seconds.

Mana bu dastur qanday ishlaydi:

  1. "Printed immediately" chop etiladi
  2. time.sleep(2.4) bajarilishni 2.4 soniyaga to'xtatadi.
  3. "Printed after 2.4 seconds" chop etiladi.

sleep() haqida ko'proq bilish uchun, iltimos Python sleep() sahifasiga tashrif buyuring.

Python time.localtime() funksiyasi

localtime() funksiyasi epoch'dan beri o'tgan soniyalar sonini argument sifatida oladi va lokal vaqtda struct_timeni (struct_time'ga mos 9 ta elementdan iborat kortej) qaytaradi.

example.py
import time

result = time.localtime(1672214933)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

Natija

kod
result: time.struct_time(tm_year=2022, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=8, tm_sec=53, tm_wday=2, tm_yday=362, tm_isdst=0)

year: 2022
tm_hour: 8

Bu yerda, agar localtime()ga hech qanday argument yoki None uzatilmasa, time() qaytargan qiymat ishlatiladi.

Python time.gmtime() funksiyasi

gmtime() funksiyasi epoch'dan beri o'tgan soniyalar sonini argument sifatida oladi va UTC bo'yicha struct_timeni qaytaradi.

example.py
import time

result = time.gmtime(1672214933)
print("result:", result)
print("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

Natija

kod
result: time.struct_time(tm_year=2022, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=8, tm_sec=53, tm_wday=2, tm_yday=362, tm_isdst=0)

year: 2022
tm_hour: 8

Bu yerda, agar gmtime()ga hech qanday argument yoki None uzatilmasa, time() qaytargan qiymat ishlatiladi.

Python time.mktime() funksiyasi

mktime() funksiyasi struct_timeni (struct_time'ga mos 9 ta elementdan iborat kortej) argument sifatida oladi va lokal vaqtda epoch'dan beri o'tgan soniyalarni qaytaradi.

struct_time quyidagi tuzilishga ega:

kod
(yil, oy, kun, soat, daqiqa, soniya, hafta kuni, yilning kuni, yoz vaqti)

Keling, bir misolni ko'ramiz,

example.py
import time

time_tuple = (2022, 12, 28, 8, 44, 4, 4, 362, 0)

# time_tuple'ni epoch'dan beri o'tgan soniyalarga aylantirish
seconds = time.mktime(time_tuple)

print(seconds)

# Natija: 1672217044.0

Bu yerda, biz time_tupleni epoch'dan beri o'tgan soniyalarga aylantirdik.

Python time.asctime() funksiyasi

Pythonda, asctime() funksiyasi struct_timeni argument sifatida oladi va uni ifodalovchi satrni qaytaradi.

mktime()ga o'xshab, time_tuple quyidagi tuzilishga ega:

kod
(yil, oy, kun, soat, daqiqa, soniya, hafta kuni, yilning kuni, yoz vaqti)

Keling, bir misolni ko'ramiz,

example.py
import time

t = (2022, 12, 28, 8, 44, 4, 4, 362, 0)

result = time.asctime(t)
print("Result:", result)

# Natija: Result: Fri Dec 28 08:44:04 2022

Bu yerda, ko'rishimiz mumkinki, time.asctime() vaqt kortejini o'qilishi oson satrga aylantiradi.

Python time.strftime() funksiyasi

strftime() funksiyasi struct_timeni (yoki unga mos kortejni) argument sifatida oladi va ishlatilgan format kodiga asoslanib uni ifodalovchi satrni qaytaradi. Masalan,

example.py
import time

named_tuple = time.localtime() # struct_time'ni olish
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)

print(time_string)

Natija

kod
12/29/2022, 08:36:22

Bu yerda, %Y, %m, %d, %H va h.k. — format kodlari.

  • %Y - yil [0001,..., 2018, 2019,..., 9999]
  • %m - oy [01, 02, ..., 11, 12]
  • %d - kun [01, 02, ..., 30, 31]
  • %H - soat [00, 01, ..., 22, 23]
  • %M - daqiqa [00, 01, ..., 58, 59]
  • %S - soniya [00, 01, ..., 58, 61]

Ko'proq bilish uchun, tashrif buyuring: time.strftime().

Python time.strptime() funksiyasi

strptime() funksiyasi vaqtni ifodalovchi satrni tahlil qiladi (parse) va struct_timeni qaytaradi.

example.py
import time

time_string = "14 July, 2023"
result = time.strptime(time_string, "%d %B, %Y")

print(result)

Natija

kod
time.struct_time(tm_year=2023, tm_mon=7, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=-1)

Bu yerda, strptime() satrni tahlil qiladi va uni struct_time obyektiga aylantiradi.

QBilimingizni sinab ko'ring
1 / 3

1. Unix tizimi uchun "epoch" qaysi sanani anglatadi?