Menü Kapat

Bildiyimiz kimi bütün proqramlaşdırma dillərində olduğu kimi Pythonda da kitabxanalar ,modullar vardır. Bu kitabxanalar hər biri müxtəlif məqsədlər üçün yaradılmışdır. Bu kitabxanaların funksiyaları bizə çox işlərdə köməyimizə çatır. Bu modullardan  biri də datetime moduludur. Hansı ki, adından da göründüyü kimi vaxtla işləmək üçün ideal moduldur. Bunun vasitəsilə  saatlar, günlər, illər yəni ağlınıza gələ biləcək istənilən zaman anlayışı üzərində əməliyyat aparmaq olar. Bu moduldan istifadə etmək üçün “import datetime” yazmaq lazımdır. Bundan sonra biz bu modulun funksiyalarından istifadə edə bilərik. Kitabxananın funksiyaları haqqında ətraflı məlumata malik olmaq üçün  “help(datetime)” yazmaq kifayətdir.  Bu modulun

  1.  date
  2.  datetime
  3.  time
  4.  timedelta
  5.  tzinfo
  6.  timezone

sinifləri var

 

Aşağıdakı  Python faylında yazılmış koda baxaq

  • import datetime
  • tday=datetime.date.today()
  • print(tday)

Yazılan kodda artıq biz datetime kitabxanasından istifadə etmiş olduq.  tday bizim dəyişənimizdir, lakin formatı bildiyimiz string, int, bool kimi formatlarda deyil. Burada datetime.date.today  ifadəsində olan datetime eyni adlı kitabxanadan istifadə etdiyimizi,  date onun tarix classından istifadə etdiyimizi göstərir, today isə bu günün tarixini bilmək üçün istifadə edilir, sonra print vasitəsilə çapa verilir. Əgər siz də bu  koddan istifadə etsəniz ekranınızda bu günün, yəni kodu yazdığınız günün  tarixi çıxacaq

  • import datetime
  • tday=datetime.date.today()
  • print(tday.year)
  • print(tday.month)
  • print(tday.day)

 

 

Yuxarıdakı kodu yazib çıxışa verdikdə isə təqvimin ili, ayı və günü haqqında məlumat çıxışa veriləcək. Belə ki, tday.year il tday.month ay tday.day günü təyin etmək üçün istifadə olunur.

Adi halda default yəni susmaya görə çıxışa ay, il sonra gün verilir Məsələn 2018-08-04. Lakin elə ola bilər müxtəlif ölkələrdə tarix müxtəlif cür istifadə oluna bilər Buna görə də, məsələn bizim Pythonda yazdığımız kodun hansısa xarici ölkədə anlaşıqlı olması üçün bu ardıcıllığı dəyişə, hətta ayların adını qısaldılmış və ya geniş formada yaza bilərik Bunun üçün strftime() funksiyasından istifadə edəcəyik Lakin bunun üçün bəzi qısaltmaları bilmək lazımdır. Onlardan ən çox istifadə olunanları aşağıdakılardır:

  • %a – həftənin gününün ixtisar olunmuş adı
  • %A – həftənin gününün tam adı
  • %b – ayın ixtisar olunmuş adı
  • %B – ayın tam adı
  • %C – əsrin nömrəsi (il 100-ə bölünür)
  • %d – ayın günü (01-31)
  • %e – ayın günü (1-31)
  • %H – 24 saat (00-23)
  • %I – 12 saat (01-12)
  • %j – ilin günü (001-366)
  • %m – ay (01-12)
  • %M – dəqiqə
  • %S -saniyə
  • %u – həftənin günü (1-7), bazar ertəsi=1. 
  • %y – əsr olmadan il (00 – 99) (məs 18)
  • %Y – əsr olaraq il (məs 2018)

Aşağıdakı misala baxaq

  • import datetime
  • tday=datetime.date.today().strftime(‘%B %A %d %Y’)
  • print(tday)

Burada %B ayın adını %A həftənin gününü geniş formada çıxışa verir. %d və %Ydə yuxarıda qeyd olunanlar sırasındadır

Datetime.time funskiyası isə bizə saatlar, dəqiqə, saniyə və millisaniyələrlə işləməyə köməklik edir

  • import datetime
  • tday=datetime.datetime.now().time()
  • print(tday)

Burada isə saat ,dəqiqə, saniyə, millisaniyə çıxışa veriləcək

  • import datetime
  • tday=datetime.datetime.now().time()
  • print(tday.hour)
  • print(tday.minute)
  • print(tday.second)

Belə yazmaqla da ayrı-ayrı saat, dəqiqə və saniyəni çıxışa vermək olar

 

Əgər həm date həm də time classından istifadə etmək istəyiriksə onda birbaşa datetime modulunda yerləşən datetime classından istifadə edə bilərik

  • Import datetime
  • Tday=datetime.datetime.today()

yazdıqda default olaraq  il, ay,  gün, saat, dəqiqə, saniyə, millisaniyə çıxışa veriləcək. strftime classından istifadə etməklə istədiyimiz formatda çıxışa verə bilərik

Bəzən elə olur ki məsələn kiminsə ad gününə, hansısa proqramın bitməsinə və s. nə qədər vaxt qaldığını bildikdə hansı tarixə düşdüyünü bilmək lazım gəlir.Bunun üçün isə  timedelta classından istifadə olunur Bu barədə aşağıdakı misala baxaq

  • import datetime
  • tday=datetime.datetime.today()
  • tdelta=datetime.timedelta(days=9)
  • print(tday+tdelta)

və bu koddan alınan nəticə kodun yazıldığı gündən 9 gün sonra hansı tarix olacağını hesablayır

  •  import datetime
  • tday=datetime.date.today()
  • tdelta=datetime.date(2019,9,16)
  • print(tdelta-tday)

Bu kod vasitsəilə iki tarix arasında neçə gün qaldığını hesablamaq olar