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, timedelta
2
3# Şu anki tarih ve saat
4bugun = 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ştur
2dogum_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, timedelta
2
3bugun = datetime.now()
4dogum_tarihi = datetime(1990, 5, 20)
5
6fark = bugun - dogum_tarihi
7print(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()
2
3# 7 gün sonrasını bul
4yedi_gun_sonra = bugun + timedelta(days=7)
5print(f"7 gün sonra: {yedi_gun_sonra}")
6
7# 3 saat öncesini bul
8uc_saat_once = bugun - timedelta(hours=3)
9print(f"3 saat önce: {uc_saat_once}")
10
11# 30 gün ve 5 saat ekle
12karmasik = 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()
2
3# Türkçe formatında göster
4print(bugun.strftime("%d/%m/%Y")) # 15/01/2024
5print(bugun.strftime("%A, %d %B %Y")) # Monday, 15 January 2024
6print(bugun.strftime("%H:%M:%S")) # 14:30:45

Tarih karşılaştırması yap:

1bugun = datetime.now()
2yarin = bugun + timedelta(days=1)
3
4if 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.

konu hakkında tepkinizi verebilirsiniz