Bir kaydın ne zaman oluşturulduğu, iki tarih arasında kaç gün olduğu, bir raporun hangi güne ait olduğu… Tarih ve saat, neredeyse her programda karşımıza çıkar. Python’un datetime modülü bu işleri şaşırtıcı derecede kolaylaştırır.
datetime nedir?
datetime, tarih ve saatle çalışmak için Python ile birlikte gelen standart modüldür. Şu anki zamanı almak tek satırdır:
from datetime import datetime
simdi = datetime.now()
print(simdi.year, simdi.month, simdi.day)Tarihi biçimlendirmek
Bir tarihi istediğiniz formatta metne çevirmek için strftime kullanılır; bu, metin işlemenin bir uzantısı gibidir:
print(simdi.strftime("%d/%m/%Y %H:%M")) # 13/07/2026 09:30Tarihler arası fark
İki tarih arasındaki farkı ya da bir tarihe gün eklemeyi timedelta ile yaparsınız:
from datetime import timedelta
yarin = simdi + timedelta(days=1)
print(yarin.date())Saat dilimine dikkat
Farklı ülkelerden veriyle çalışıyorsanız saat dilimi (timezone) önemlidir. “Basit” (naive) ve “farkında” (aware) tarih nesnelerini karıştırmak sık yapılan bir hatadır. Standart tarih formatı için ISO 8601 sayfasına bakabilirsiniz.
İşin hocası ne yapar?
İşin hocası tarihleri metin olarak değil, datetime nesnesi olarak tutar; çünkü hesap ve karşılaştırma ancak o zaman güvenilir olur.
İlgili yazı: JSON ile Çalışmak
Sıkça Sorulan Sorular
Python’da şu anki tarih ve saat nasıl alınır?
datetime modülündeki datetime.now() fonksiyonu kullanılır. Bu, o anki tarih ve saati içeren bir nesne döndürür; yıl, ay, gün gibi bileşenlerine ayrı ayrı erişebilirsiniz.
strftime ne işe yarar?
strftime, bir tarih/saat nesnesini istediğiniz biçimde metne çevirmenizi sağlar. Örneğin “%d/%m/%Y” kalıbı tarihi gün/ay/yıl biçiminde yazar.
İki tarih arasındaki fark nasıl hesaplanır?
timedelta nesnesi kullanılır. İki datetime nesnesini çıkardığınızda aradaki süreyi (gün, saat) veren bir timedelta elde edersiniz; ayrıca bir tarihe gün eklemek için de kullanılır.
