- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
datetime ModülüTarih ve zaman, sadece sayısal değerler değildir; aynı zamanda yıl, ay, gün, saat dilimi ve artık saniyeler gibi karmaşık kurallara tabidir. Python'da bu karmaşıklığı yönetmek ve hesaplamaları doğru yapmak için datetime modülü kullanılır.
datetime modülü içinde 5 temel obje (sınıf) bulunur:
date: Sadece tarih (Yıl, Ay, Gün).
time: Sadece saat (Saat, Dakika, Saniye, Mikrosaniye).
datetime: Tarih ve saati bir arada tutar. (En sık kullanılan).
timedelta: İki tarih veya saat arasındaki farkı (süre) temsil eder.
tzinfo: Saat dilimi bilgisi (UTC, CET vb.).
from datetime import datetime, date, time, timedelta1.
datetimeObjesi: Tarih ve Saatin Merkezi
datetime sınıfı, hem tarihi hem de saati tutan en yaygın kullanılan objedir.
# Şu anki tarihi ve saati (sistem saatine göre) alır
simdi = datetime.now()
print(f"Şu anki zaman: {simdi}")
# Yıl, ay, gün, saat gibi niteliklere erişim
print(f"Yıl: {simdi.year}, Ay: {simdi.month}, Gün: {simdi.day}")
# Yıl, ay, gün (zorunlu), saat, dakika (isteğe bağlı)
dogum_gunu = datetime(2025, 10, 25, 14, 30, 0)
print(f"Belirlenen an: {dogum_gunu}")
timedeltatimedelta objesi, iki datetime objesi arasındaki farkı veya belirli bir süreyi temsil eder. Tarih veya saatlere ekleme/çıkarma yapmak için kullanılır.
# 7 gün ve 5 saatlik bir süre tanımlama
bir_hafta_sonra = timedelta(days=7, hours=5)
print(bir_hafta_sonra) # Çıktı: 7 days, 5:00:00
bugun = datetime.now()
gecen_hafta = bugun - timedelta(weeks=1)
gelecek_ay = bugun + timedelta(days=30)
print(f"Bir hafta önce: {gecen_hafta}")
İki datetime objesi çıkarıldığında sonuç bir timedelta objesi olur.
dogum_tarihi = datetime(1990, 5, 15)
bugunun_tarihi = datetime.now()
fark = bugunun_tarihi - dogum_tarihi
yas_gun = fark.days # Toplam gün sayısı
print(f"Yaşadığı toplam gün sayısı: {yas_gun}")
strftime ve strptimeVerilerinizi dış dünyadan (dosya, API) alırken veya çıktı verirken, tarih/saat verileri genellikle dize (string) formatında olur. Bu iki metot, dize $\leftrightarrow$ datetime dönüşümünü sağlar.
| Metot | Yön | Açıklama |
| strftime (format string) | datetime $\rightarrow$ Dize | Tarih objesini istenen formata dönüştürür. |
| strptime (parse string) | Dize $\rightarrow$ datetime | Dizedeki tarihi verilen formata göre ayrıştırır. |
strftime)Kullanılan bazı yaygın format kodları:
| Kod | Açıklama | Örnek |
%Y | Yıl (4 haneli) | 2025 |
%m | Ay (01-12) | 10 |
%d | Gün (01-31) | 22 |
%H | Saat (24 saat) | 20 |
%M | Dakika | 50 |
%A | Haftanın Tam Günü | Çarşamba |
simdi = datetime.now()
# Formatlama: Yıl-Ay-Gün Saat:Dakika
formatli_dize = simdi.strftime("Bugün: %d/%m/%Y, Saat: %H:%M")
print(formatli_dize)
# Çıktı: Bugün: 22/10/2025, Saat: 20:50
strptime)Dizeyi ayrıştırırken, dizedeki formatın birebir aynısını strptime metoduna vermelisiniz.
tarih_dizesi = "2024-03-01 18:00:00"
# Dizedeki formatı tam olarak eşleştiriyoruz
yeni_tarih = datetime.strptime(tarih_dizesi, "%Y-%m-%d %H:%M:%S")
print(type(yeni_tarih)) # Çıktı: <class 'datetime.datetime'>datetime modülü, zaman manipülasyonunun ve tarih hesaplamalarının Python'daki bel kemiğidir. timedelta ile süreleri yönetmek ve strftime/strptime ile dize dönüşümlerini doğru yapmak, veri işleme becerilerinizi profesyonel bir seviyeye taşır.
🔥 Python Kariyerinizi Hemen Başlatın!
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
[ Python Eğitimi Sıfırdan İleri Seviye ]
Tıklayın ve Python Eğitimine Hemen Kaydolun!
Yorumlar
Yorum Gönder