Darsliklar Python Datetime

Python Python Datetime

datetime moduli sana va vaqt bilan ishlash uchun mo’ljallangan. Har qanday jiddiy dasturda sana bor: foydalanuvchi qachon ro’yxatdan o’tgan, blogpost qachon e’lon qilingan, buyurtma qachon berilgan. Django modellaridagi created_at va updated_at maydonlari ham aynan vaqt bilan ishlaydi.

datetimePython standart kutubxonasining sana va vaqtni yaratish, formatlash, solishtirish va ular ustida hisob-kitob qilish uchun mo’ljallangan moduli.

Joriy sana va vaqtni olish

Modulni import qilib, hozirgi vaqtni olamiz:

import datetime

hozir = datetime.datetime.now()
print(hozir)
print(hozir.year)
print(hozir.hour)
2026-07-01 14:30:52.184203
2026
14

now() aynan shu lahzadagi to’liq sana va vaqtni qaytaradi. Undan year, month, day, hour, minute kabi alohida qismlarni ajratib olish mumkin.

Aniq sana yaratish

Istalgan sanani qo’lda ham yaratish mumkin:

import datetime

tugilgan = datetime.datetime(1998, 5, 15)
print(tugilgan)
print(tugilgan.strftime("%d-%m-%Y"))
1998-05-15 00:00:00
15-05-1998

Bu yerda strftime metodi sanani kerakli ko’rinishga formatlaydi. Formatlash belgilari maxsus — eng ko’p ishlatiladiganlarini jadvalda ko’ramiz:

Belgi Ma’nosi Misol
%Y to’liq yil 2026
%m oy (raqam) 07
%d kun 01
%H soat 14
%M daqiqa 30
%A hafta kuni Wednesday

Sanalar ustida hisob-kitob — timedelta

Vaqt oralig’ini hisoblash uchun timedelta ishlatiladi. Masalan, 30 kundan keyingi sanani topamiz:

import datetime

bugun = datetime.datetime(2026, 7, 1)
kelasi = bugun + datetime.timedelta(days=30)
print(kelasi.strftime("%d-%m-%Y"))
31-07-2026

timedelta ga days, hours, weeks kabi qiymatlar berib, sanaga qo’shish yoki ayirish mumkin. Bu, masalan, obuna muddatini yoki chegirma tugash sanasini hisoblashda bebaho.

Ikki sana orasidagi farq

Ikki sanani ayirsangiz, natija — timedelta obyekti, undan farqni kun sifatida olish mumkin:

import datetime

boshi = datetime.datetime(2026, 1, 1)
oxiri = datetime.datetime(2026, 7, 1)
farq = oxiri - boshi
print(farq.days, "kun")
181 kun

Bu naqsh yosh hisoblash, muddatni tekshirish yoki hodisalar orasidagi vaqtni o’lchashda ishlatiladi.

Xulosa

Bu darsda datetime moduli bilan joriy vaqtni olish, aniq sana yaratish, strftime bilan formatlash, timedelta orqali hisob-kitob va sanalar farqini topishni o’rgandik. Vaqt bilan to’g’ri ishlash har bir real ilovaning ajralmas qismi. Keyingi darsda math moduli — matematik amallarga o’tamiz.