Skip to content

Python - Sana va Vaqt

Python Sanalari

Python'da sana o'ziga xos ma'lumot turi emas, lekin biz datetime nomli modulni import qilib, sanalar bilan sana obyektlari sifatida ishlashimiz mumkin.

Misol

datetime modulini import qiling va joriy sanani ko'rsating:

python
import datetime

x = datetime.datetime.now()
print(x)

Sana Chiqishi

Yuqoridagi misoldagi kodni bajarsak, natija quyidagicha bo'ladi: 2025-02-25 09:06:00.436190

Sana yil, oy, kun, soat, daqiqa, soniya va mikrosoniyani o'z ichiga oladi.

datetime moduli sana obyekti haqida ma'lumot qaytaradigan ko'plab metodlarga ega.

Mana bir nechta misollar, siz ular haqida ushbu bo'limda keyinroq ko'proq bilib olasiz:

Misol

Yil va hafta kuni nomini qaytarish:

python
import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

Sana obyektlarini Yaratish

Sana yaratish uchun datetime modulining datetime() sinfidan (konstruktoridan) foydalanishimiz mumkin.

datetime() sinfi sanani yaratish uchun uchta parametrni talab qiladi: yil, oy, kun.

Misol

Sana obyektini yaratish:

python
import datetime

x = datetime.datetime(2020, 5, 17)

print(x)

datetime() sinfi vaqt va vaqt mintaqasi uchun parametrlarni ham qabul qiladi (soat, daqiqa, soniya, mikrosoniya, vaqt_mintaqasi), lekin ular ixtiyoriy bo'lib, standart qiymatlari 0 (vaqt mintaqasi uchun None).

strftime() Metodi

Sana obyekti o'qiladigan satrlarga formatlash uchun metodga ega.

Bu metod strftime() deb ataladi va qaytariladigan satr formatini belgilash uchun bitta parametr, ya'ni formatni qabul qiladi:

Misol

Oy nomini ko'rsatish:

python
import datetime

x = datetime.datetime(2018, 6, 1)

print(x.strftime("%B"))

Barcha qonuniy format kodlari haqida ma'lumotnoma:

DirektivaTavsifMisol
%aHafta kuni, qisqa versiyaChor
%AHafta kuni, to'liq versiyaChorshanba
%wHafta kuni raqam sifatida 0-6, 0 yakshanba3
%dOy kuni 01-3131
%bOy nomi, qisqa versiyaDek
%BOy nomi, to'liq versiyaDekabr
%mOy raqam sifatida 01-1212
%yYil, qisqa versiya, asrsiz18
%YYil, to'liq versiya2018
%HSoat 00-2317
%ISoat 00-1205
%pAM/PMPM
%MDaqiqa 00-5941
%SSoniya 00-5908
%fMikrosoniya 000000-999999548513
%zUTC siljishi+0100
%ZVaqt mintaqasiCST
%jYilning kun raqami 001-366365
%UYilning hafta raqami, yakshanba haftaning birinchi kuni, 00-5352
%WYilning hafta raqami, dushanba haftaning birinchi kuni, 00-5352
%cMahalliy sana va vaqt versiyasiDush Dek 31 17:41:00 2018
%CAsr20
%xMahalliy sana versiyasi12/31/18
%XMahalliy vaqt versiyasi17:41:00
%%% belgisi%
%GISO 8601 yili2018
%uISO 8601 hafta kuni (1-7)1
%VISO 8601 hafta raqami (01-53)01