CodeGym /Kurslar /Python SELF AZ /datetime modulundan istifadə

datetime modulundan istifadə

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1. Cari tarix və saatı əldə etmək

Nəyə görə bu vacibdir?

Məlumdur ki, vaxt — puldur. Proqramlaşdırmada isə bu — nəzarət, planlaşdırma və avtomatlaşdırmadır. Məsələn, əgər müəyyən saatda bir işə başlamaq və ya hadisələri loglamaq istəyirsinizsə, sizə lazımdır ki, saatın necə işlədiyini biləsiniz və həmin funksiyalardan doğru istifadə edəsiniz.

datetime-in əsasları

Beləliklə, təsəvvür edək ki, biz datetime kitabxanası ilə işləməyə başladıq. Kosmos gəmisinin dizaynından fərqli olaraq, bu çox sadədir! Gəlin cari tarix və saatı əldə etməklə başlayaq:

Python

from datetime import datetime

# Cari tarix və saatı əldə etmək
now = datetime.now()
print("Cari tarix və saat:", now)

Bu kod deyir ki, "Hey, datetime, gəlin görək, indi saat neçədir!" Ən maraqlısı isə odur ki, now() metodu datetime obyektini qaytarır, hansı ki, hazırki zamanın bütün məlumatlarını özündə saxlayır. Bəli, elə bil ki, hər şeyi bilən professor!

Lokal və universal (UTC) vaxt

Ah, UTC — bütün dünya insanlarını birləşdirən zaman, əlavə saat zonaları olmadan. Əgər Marsdakı (demək olar ki) dəqiq vaxtı bilmək istəyirsinizsə, UTC sizə kömək edər. Bunu necə alacağınızı görək:

Python

# UTC formatında cari vaxtı əldə etmək
now_utc = datetime.utcnow()
print("Cari tarix və saat UTC-də:", now_utc)

Soruşa bilərsiniz ki, fərq nədədir? Lokal vaxt sizin saat zonanızı nəzərə alır, ancaq UTC — Greenviçə görə olan zamandır, hansı ki coğrafi mövqedən asılı deyil.

Tarix və saat elementlərinin çıxarılması

Bəzən bütün tarixi deyil, onun müəyyən hissələrini əldə etmək lazım olur. Elə bil ki, pizza sifariş edirsən və yalnız pendiri götürürsən — hər zaman məntiqli olmasa da, bəzən lazımlıdır:

Python

# Tarix və zaman hissələrinin çıxarılması
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"İndi {hour}:{minute}:{second} {day}.{month}.{year}")

Beləliklə, biz tarix və vaxt elementləri ilə ayrı-ayrılıqda işləyə bilərik. Məsələn, həmkarınızı ad günü münasibətilə təbrik etmək üçün (amma yalnız o zaman ki, özü xatırlatsa).

Cari tarix və vaxtın istifadəsinə nümunələr

Daha ciddi bir məsələ isə, hadisələri zamanda müxtəlif yerlər üzrə proqramlaşdırmaqdır. Məsələn, gəlin elə bir sadə skript yaradaq ki, hər kəsi cümə günü münasibətilə təbrik etsin (çünki kim cüməni sevmir ki?).

Python

# Cari tarixin gündəlik xatırlatma üçün istifadəsi nümunəsi
if now.weekday() == 4:  # Cümə
    print("Ura! Bu gün cümədir, istirahət vaxtıdır!")
else:
    print("Bir az daha gözləyin, cümə çox uzaqda deyil.")

Bu kod weekday() metodundan istifadə edir, hansı ki, 0-dan 6-ya kimi bir rəqəm qaytarır (harada ki, 0 — bazar ertəsi, 6 — bazar günü), bu gün hansı həftə günü olduğunu yoxlamaq və yaxınlaşan istirahət günləri barədə xəbərdarlıq etmək üçün!

2. datetime obyektləri ilə iş

Bizə təkcə cari vaxtı bilmək yox, həmçinin bir anı digərinə keçirmək üçün əməliyyatlar və ya müqayisələr aparmaq lazımdır. Məsələn, iş yoldaşları ilə görüşə nə qədər gecikdiyinizi necə hesablaya bilirsiniz?

Python

# Vaxt fərqini hesablama nümunəsi
from datetime import timedelta

# Keçmişdə tarix yaratmaq
past_date = datetime(2023, 1, 1, 10, 0, 0)

# Cari vaxt ilə keçmiş vaxt arasındakı fərqi hesablamaq
difference = now - past_date
print(f"O yadda qalan gündən bəri {difference.days} gün və {difference.seconds // 3600} saat keçib.")

Burada biz keçmiş tarix yaradırıq və onu indiki vaxtla müqayisə edirik. Yeni ildən neçə gün keçib? Artıq bilirsiniz!

3. Saat qurşaqları ilə iş

datetime modulunda saat qurşaqları ilə işləmək üçün pytz kitabxanasından istifadə olunur. Bu kitabxana tarix və vaxtı istənilən saat qurşağına çevirməyə imkan verir.

pytz istifadə nümunəsi

Python

from datetime import datetime
import pytz

# Cari tarix və vaxtı UTC-də almaq
utc_now = datetime.now(pytz.utc)
print("Cari tarix və vaxt (UTC):", utc_now)

# Başqa bir saat qurşağına çevirmək (məsələn, US/Pacific)
pacific_now = utc_now.astimezone(pytz.timezone("US/Pacific"))
print("Cari tarix və vaxt (Pacific Time):", pacific_now)

Nəticə:


Cari tarix və vaxt (UTC): 2024-11-04 14:53:27.123456+00:00
Cari tarix və vaxt (Pacific Time): 2024-11-04 06:53:27.123456-08:00
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION