Python ile Bir Tarihin Haftanın Hangi Gününe Denk Geldiğini Bulma

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.

Similar Posts

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir