Python’da Tarih ve Saatle Çalışmak: datetime Modülü

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:30

Tarihler 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.

Yorum yapın