
Bir tarihin haftanın hangi gününe denk geldiğini öğrenmek, Python ile yapılabilecek küçük ama öğretici uygulamalardan biridir. Bu işlem; tarih metnini doğru biçimde okumayı, Python’un tarih ve takvim modüllerini kullanmayı ve elde edilen sayısal sonucu kullanıcıya anlamlı bir gün adı olarak göstermeyi gerektirir.
datetime.weekday() + calendar.day_name
Python
from datetime import datetime
import calendar
import locale
# Sistemin varsayılan zaman locale'ini kullan (dil ayarlarını al)
locale.setlocale(locale.LC_TIME, '')
try:
tarih_str = input("Tarihi girin (GG.AA.YYYY): ")
tarih = datetime.strptime(tarih_str, "%d.%m.%Y")
gun_numarasi = tarih.weekday() # 0=Pazartesi, 6=Pazar
gun_adi = calendar.day_name[gun_numarasi] # Sistem dilinde gün adı
print(f"{tarih_str} tarihi {gun_adi} gününe denk geliyor.")
except ValueError:
print("Hata: Lütfen tarihi GG.AA.YYYY formatında girin.")datetime.isoweekday() + calendar.day_name
Python
from datetime import datetime
import calendar
import locale
locale.setlocale(locale.LC_TIME, '')
try:
tarih_str = input("Tarihi girin (GG.AA.YYYY): ")
tarih = datetime.strptime(tarih_str, "%d.%m.%Y")
gun_numarasi = tarih.isoweekday() # 1=Pazartesi, 7=Pazar
# calendar.day_name 0'dan başlar, bu yüzden 1 çıkar
gun_adi = calendar.day_name[gun_numarasi - 1]
print(f"{tarih_str} tarihi {gun_adi} gününe denk geliyor.")
except ValueError:
print("Hata: Lütfen tarihi GG.AA.YYYY formatında girin.")calendar.weekday() + calendar.day_name (sistem dili)
Python
import calendar
import locale
locale.setlocale(locale.LC_TIME, '')
try:
tarih_str = input("Tarihi girin (GG.AA.YYYY): ")
gun, ay, yil = map(int, tarih_str.split('.'))
gun_numarasi = calendar.weekday(yil, ay, gun) # 0=Pazartesi, 6=Pazar
gun_adi = calendar.day_name[gun_numarasi]
print(f"{tarih_str} tarihi {gun_adi} gününe denk geliyor.")
except ValueError:
print("Hata: Lütfen tarihi GG.AA.YYYY formatında girin (örnek: 16.08.1985).")- locale.setlocale(locale.LC_TIME, ”) komutu, Python’un zaman/gün bilgilerini işletim sisteminin varsayılan dil ayarlarına göre kullanmasını sağlar.
- Eğer sistem dili Türkçe ise calendar.day_name “Pazartesi”, “Salı” … döndürür; İngilizce ise “Monday”, “Tuesday” … döndürür.
- Herhangi bir dile zorlama yapılmadığı için, program hangi dilde çalışıyorsa o dilde sonuç verir.
Bu üç yöntem arasında tercih tamamen size kalmış, hepsi aynı işlevi görür. En sade ve okunaklı olan genellikle 1. yöntemdir.
