CodeGym /Kurslar /Python SELF AZ /Datetime kitabxanası

Datetime kitabxanası

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

9.1 Tarix və vaxt ilə iş

Proqramçılara çox vaxt öz proqramlarında tarixlər və vaxt ilə işləmək lazım olur. Ona görə də, Python-da belə hallarda datetimetime adlı iki standart kitabxana var, bu təəccüblü deyil.

Datetime kitabxanası Python-un standart kitabxanasının bir hissəsidir və tarixlər və vaxt ilə işləmək üçün siniflər təqdim edir. O, tarix və vaxt yaratmağa, manipulyasiya etməyə, formatlaşdırmağa, həmçinin onlar ilə riyazi əməliyyatlar həyata keçirməyə imkan verir.

Datetime kitabxanasının əsas sinifləri

Datetime.date sinfi

Bu sinif vaxt olmadan tarixi (il, ay, gün) təsvir edir. O, təqvim tarixləri ilə işləmək üçün faydalıdır.

Misal istifadəsi:


import datetime

# Tarix obyekti yaradılması
d = datetime.date(2023, 5, 24)
print(d)  # Çıxış: 2023-05-24
            
# Cari tarixi əldə etmək
today = datetime.date.today()
print(today)
            
# İl, ay və gün atributlarına daxil olmaq
print(d.year)  # Çıxış: 2023
print(d.month)  # Çıxış: 5
print(d.day)  # Çıxış: 24

Datetime.time sinfi

Bu sinif vaxtı (saat, dəqiqə, saniyə, mikrosaniyə) tarixsiz təsvir edir. O, gün vaxtı ilə işləmək üçün faydalıdır.

Misal istifadəsi:


import datetime

# Vaxt obyekti yaradılması
t = datetime.time(14, 30, 45)
print(t)  # Çıxış: 14:30:45
            
# Saat, dəqiqə və saniyə atributlarına daxil olmaq
print(t.hour)  # Çıxış: 14
print(t.minute)  # Çıxış: 30
print(t.second)  # Çıxış: 45

Datetime.datetime sinfi

Bu sinif tarixi və vaxtı birləşdirir (il, ay, gün, saat, dəqiqə, saniyə, mikrosaniyə). O, konkret vaxt anları ilə işləmək üçün faydalıdır.

Misal istifadəsi:


import datetime

# Tarix və vaxt obyekti yaradılması
dt = datetime.datetime(2023, 5, 24, 14, 30, 45)
print(dt)  # Çıxış: 2023-05-24 14:30:45
        
# Cari tarix və vaxtı əldə etmək
now = datetime.datetime.now()
print(now)
        
# Tarix və vaxt atributlarına daxil olmaq
print(dt.year)  # Çıxış: 2023
print(dt.month)  # Çıxış: 5
print(dt.day)  # Çıxış: 24
print(dt.hour)  # Çıxış: 14
print(dt.minute)  # Çıxış: 30
print(dt.second)  # Çıxış: 45

Datetime.timedelta sinfi

Bu sinif iki vaxt anı arasındakı fərqi, günlər, saniyələr və mikrosaniyələr şəklində təsvir edir. O, tarixlər və vaxt ilə riyazi əməliyyatlar aparmaq üçün faydalıdır.

Misal istifadəsi:


import datetime

# Timedelta obyekti yaradılması
delta = datetime.timedelta(days=10, hours=5, minutes=30)
print(delta)  # Çıxış: 10 days, 5:30:00
        
# Timedelta-nın tarixə əlavə edilməsi
dt = datetime.datetime(2023, 5, 24, 14, 30)
new_dt = dt + delta
print(new_dt)  # Çıxış: 2023-06-03 20:00:00
        
# Timedelta-nın tarixdən çıxarılması
earlier_dt = dt - delta
print(earlier_dt)  # Çıxış: 2023-05-14 09:00:00

4.2 Tarix və zamanların formatlanması və parsinqi

Biz çox vaxt yalnız tarixlə işləmək yox, həm də onu müəyyən bir formada string-ə çevirmək ehtiyacı hiss edirik. Əks proses, yəni string-ini obyektə çevirdikdə, adətən parsinq adlanır. Bu əməliyyatlar üçün Python-da da öz sinifləri və metodları var:

strftime() metodu

strftime() metodu datetime obyektlərini müəyyən formata uyğun string-ə formatlamaq üçün istifadə olunur.

İstifadə nümunəsi:


import datetime

dt = datetime.datetime(2023, 5, 24, 14, 30, 45)
    
# Tarix və zamanın formatlanması
formatted_dt = dt.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_dt)  # Çıxış: 2023-05-24 14:30:45
    
# Yalnız tarixin formatlanması
formatted_date = dt.strftime("%d-%m-%Y")
print(formatted_date)  # Çıxış: 24-05-2023
    
# Yalnız zamanın formatlanması
formatted_time = dt.strftime("%H:%M:%S")
print(formatted_time)  # Çıxış: 14:30:45

strptime() metodu

strptime() metodu müəyyən formata uyğun olaraq string-ini datetime obyektinə çevirmək üçün istifadə olunur.

İstifadə nümunəsi:


import datetime

# String-in datetime obyektinə parsinqi
date_str = "24-05-2023 14:30:45"
dt = datetime.datetime.strptime(date_str, "%d-%m-%Y %H:%M:%S")
print(dt)  # Çıxış: 2023-05-24 14:30:45
    
# String-in date obyektinə parsinqi
date_str = "24-05-2023"
d = datetime.datetime.strptime(date_str, "%d-%m-%Y").date()
print(d)  # Çıxış: 2023-05-24
    
# String-in time obyektinə parsinqi
time_str = "14:30:45"
t = datetime.datetime.strptime(time_str, "%H:%M:%S").time()
print(t)  # Çıxış: 14:30:45

4.3 Saat qurşaqları ilə iş

Təcrübə göstərir ki, bizim servisimizdən dünyanın müxtəlif yerlərindən insanlar istifadə edirlər və təəssüf ki, onlar müxtəlif ölkələrdə yaşayırlar və onların fərqli saat qurşaqları (timezone) var. Buna görə də, proqramçı olaraq onların da öhdəsindən gəlməyi bacarmalısınız.

Təbii ki, Python-da bu hallar üçün bir sinif də var:

timezone sinifi

datetime modulundan timezone sinifi saat qurşaqları ilə işləməyə imkan verir.


import datetime

# UTC saat qurşağı ilə datetime obyektinin yaradılması
utc_dt = datetime.datetime(2023, 5, 24, 14, 30, 45, tzinfo=datetime.timezone.utc)
print(utc_dt)  # Çıxış: 2023-05-24 14:30:45+00:00
        
# Başqa saat qurşağına konvertasiya
tokyo_tz = datetime.timezone(datetime.timedelta(hours=9))
tokyo_dt = utc_dt.astimezone(tokyo_tz)
print(tokyo_dt)  # Çıxış: 2023-05-24 23:30:45+09:00

Biz datetime kitabxanasını çox ümumi şəkildə öyrəndik, hətta səthi şəkildə desək, daha düzgün olar. Gələcəkdə biz yenidən ona qayıdacağıq və daha konkret tapşırıqlar üçün necə istifadə edəcəyimizi öyrənəcəyik. İndisə mən sadəcə sizi onunla tanış etmək və standart kitabxana dəsti haqqında baxışınızı genişləndirmək istədim.

Hər hansı bir kitabxana haqqında ilk növbədə bilməli olduğunuz şey onun mövcud olması və onun vasitəsilə nələr edilməsi mümkün olmasıdır. Funksiyaların siyahıları, onların parametrləri və bütün imkanları haqqında məlumatı isə həmişə rəsmi dokumentasiyadan əldə edə bilərsiniz.

1
Опрос
Dekoratorlar,  14 уровень,  5 лекция
недоступен
Dekoratorlar
Dekoratorlar
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION