Python'da Tarih ve Saat İşlemleri: datetime ve timedelta
Python'da tarih ve saat işlemleri yapmak için datetime modülünü kullanırsın. Bu modül içinde datetime sınıfı (tarih ve saati birlikte tutan) ve timedelta sınıfı (zaman farkını hesaplayan) vardır.
datetime modülü Python'un standart kütüphanesinde gelir, ayrıca kurulum gerekmez. datetime sınıfı yıl, ay, gün, saat, dakika, saniye bilgisini tutar. timedelta ise iki tarih arasındaki farkı gün, saat, dakika cinsinden hesaplar.
İlk olarak modülü içeri aktar ve bugünün tarihini al:
1from datetime import datetime, timedelta23# Şu anki tarih ve saat4bugun = datetime.now()5print(f"Bugün: {bugun}")6print(f"Sadece tarih: {bugun.date()}")7print(f"Sadece saat: {bugun.time()}")Çıktı:
```
Bugün: 2024-01-15 14:30:45.123456
Sadece tarih: 2024-01-15
Sadece saat: 14:30:45.123456
```
Belirli bir tarihi elle oluştur:
1# Belirli bir tarih oluştur2dogum_tarihi = datetime(1990, 5, 20, 10, 30, 0)3print(f"Doğum tarihi: {dogum_tarihi}")Zaman farkı hesapla. Örneğin bugün ile doğum tarihi arasında kaç gün geçti:
1from datetime import datetime, timedelta23bugun = datetime.now()4dogum_tarihi = datetime(1990, 5, 20)56fark = bugun - dogum_tarihi7print(f"Geçen gün sayısı: {fark.days}")8print(f"Toplam saniye: {fark.total_seconds()}")Çıktı:
```
Geçen gün sayısı: 12345
Toplam saniye: 1.06581e+09
```
timedelta ile tarihe gün, saat ekle veya çıkar:
1bugun = datetime.now()23# 7 gün sonrasını bul4yedi_gun_sonra = bugun + timedelta(days=7)5print(f"7 gün sonra: {yedi_gun_sonra}")67# 3 saat öncesini bul8uc_saat_once = bugun - timedelta(hours=3)9print(f"3 saat önce: {uc_saat_once}")1011# 30 gün ve 5 saat ekle12karmasik = bugun + timedelta(days=30, hours=5, minutes=15)13print(f"30 gün 5 saat 15 dakika sonra: {karmasik}")Tarih formatını değiştir. strftime() ile istediğin şekilde göster:
1bugun = datetime.now()23# Türkçe formatında göster4print(bugun.strftime("%d/%m/%Y")) # 15/01/20245print(bugun.strftime("%A, %d %B %Y")) # Monday, 15 January 20246print(bugun.strftime("%H:%M:%S")) # 14:30:45Tarih karşılaştırması yap:
1bugun = datetime.now()2yarin = bugun + timedelta(days=1)34if bugun < yarin:5print("Bugün yarından önce")datetime.now() ile anlık tarih-saati, datetime() ile belirli tarihi oluşturursun. timedelta ile gün, saat, dakika ekler veya çıkarırsın. Tarihleri çıkararak aralarındaki farkı bulursun. strftime() ile formatı değiştirirsin. Bu araçlar randevu sistemi, yaş hesaplama, proje vadesi takibi gibi işlerde kullanılır.
0 yorum