Python Takvim Modülü Örneğiyle Birlikte

⚡ Akıllı Özet

Takvim modülü Python TextCalendar ve HTMLCalendar sınıflarını kullanarak metin ve HTML takvimleri oluşturur. Gün, ay ve yıla göre tarih hesaplamaları yapar ve herhangi bir ay için başlangıç ​​hafta içi gününü özelleştirmenize olanak tanır.

  • 🔘 İki takvim türü: TextCalendar ve HTMLCalendar sınıfları, seçilen ay veya yıl için düz metin ve web'e hazır takvimler oluşturur.
  • ☑️ Haftanın ilk günü: Calendar.SUNDAY gibi sabitler ve setfirstweekday() metodu, her haftanın hangi gün başladığını değiştirir.
  • Günleri tekrarlayın: itermonthdays() metodu bir ay boyunca döngü yapar ve çakışmaları işaretler.ping Birbirine bitişik aylardaki günleri sıfır olarak kabul edin.
  • 🧪 Yardımcı fonksiyonlar: isleap(), weekday() ve monthrange() gibi fonksiyonlar, ek bir kütüphaneye ihtiyaç duymadan tarihle ilgili sık sorulan soruları yanıtlar.
  • Standart kütüphane: Takvim modülü şunlarla birlikte gönderilir: PythonDolayısıyla, içe aktarmadan ve kullanmadan önce herhangi bir kurulum gerektirmez.
  • 🤖 Yapay zeka iş akışları: Makine öğrenimi işlem hatları, zaman serisi tahminleri için hafta içi ve artık yıl işaretleri gibi takvim özelliklerini türetir.

Python Takvim Modülü

MKS takvim modülünde Python Takvim sınıfı, tarih, ay ve yıla bağlı olarak çeşitli görevler için hesaplamalar yapılmasına olanak tanır. Bunun yanı sıra, Metin Takvimi hem de HTML Takvim sınıflar Python Takvimi düzenlemenize ve ihtiyacınıza göre kullanmanıza olanak tanır. Bununla neler yapabileceğimize bakalım. Python takvim.

Takvim Modülü nedir? Python?

MKS takvim modülü parçasıdır Python Standart bir kütüphane olduğundan, herhangi bir kurulum gerektirmeden kullanılabilir. Takvimler oluşturan ve bir tarihin hangi hafta içi gününe denk geldiği veya bir ayın kaç gün içerdiği gibi sık sorulan tarih sorularını yanıtlayan çeşitli sınıfları ve yardımcı fonksiyonları bir araya getirir.

Bu modül beş ana sınıf sunmaktadır:

  • Takvim Diğer takvimlerin oluşturulduğu verileri sağlayan temel bir sınıftır.
  • Metin Takvimi Aylık veya yıllık takvimler oluşturur.
  • HTML Takvim Web sayfaları için HTML tabloları olarak takvimler oluşturur.
  • YerelMetinTakvimi Seçilen bölgenin gün ve ay adlarını kullanan bir metin takvimidir.
  • LocaleHTMLCalendar Seçilen yerel ayarı dikkate alan HTML karşılığıdır.

Varsayılan olarak, takvim haftası şu tarihte başlar: MondayAvrupa konvansiyonuna uygun olarak. Aşağıdaki örneklerde gösterildiği gibi, calendar.SUNDAY gibi bir sabit kullanarak ilk günü değiştirebilirsiniz.

Metin Takvimi Nasıl Yazdırılır? Python

) 1 Adım Kodu çalıştırın.

Metin tabanlı bir takvim yazdırın. Python

  • Code 1. Satır: "import calendar" komutuyla başlıyoruz; bu komut, bu modülün tüm sınıflarını içe aktaracaktır.
  • Code 3. Satır: c= calendar.TextCalendar(calendar.SUNDAY) ifadesi, yorumlayıcıya bir metin takvimi oluşturmasını söyler. Ayın başlangıcı Pazar olacaktır. PythonTakvimi istediğiniz gibi biçimlendirebilir ve ayın başlangıç ​​gününü değiştirebilirsiniz.
  • Code 4. satır: str= c.formatmonth(2025,1) 2025 yılı için, 1. ay (Ocak) için bir takvim oluşturur.
  • Code 5. satır: `print str` komutu çıktıyı yazdıracaktır.

Şimdi hızlıca Pazar gününü Perşembe gününe değiştirelim ve çıktıyı kontrol edelim.

Bir günün ilk iş gününü değiştirin. Python Takvim

HTML Takvimi Nasıl Yazdırılır? Python

) 2 Adım Takvimi HTML formatında da yazdırabilirsiniz. Bu özellik, takvimin görünümünü ve işlevselliğini değiştirmek isteyen geliştiriciler için faydalıdır.

HTML takvimini yazdırın Python

Bir Ayın Günlerini Döngüye Alma Yöntemi

) 3 Adım Döngüler c.itermonthdays (2025,4) kullanarak bir ayın gün sayısını hesaplayabilirsiniz; bu, o ayın toplam gün sayısını getirecektir.

Ay içindeki günleri döngü halinde göster Python

  • Örneğin "Nisan" gibi belirli bir ayın toplam gün sayısını elde etmek için kodu çalıştırdığınızda, çıktıda 30 gün göreceksiniz, ancak bu günlerin başında ve bazen de sonunda sıfırlar da göreceksiniz.
  • Çıktıdaki sıfırlar, haftanın gününün çakışma gösterdiği anlamına gelir.ping ay, yani o aya ait değil.
  • Bu sıfırlar çıktıda görünüyor çünkü kodunuzda bir gün (Perşembe) belirtmişsiniz. Dolayısıyla "c.itermonthdays" fonksiyonunu çağırdığınızda, günleri Perşembe'den itibaren saymaya başlar ve sizin Perşembeniz 1 Nisan'da başlamayabilir; 28 veya 29 Mart olabilir. Bu nedenle kod, 28 Mart'tan itibaren ve 1 Nisan'a kadar olan tüm günleri saymaya başlar. Bu günler sıfır olarak sayılır ve çıktıda bu sıfırları görürsünüz. Aynı durum ay sonu için de geçerlidir.
  • Dolayısıyla, 1-30 arasındaki tarihler hariç, önceki ve sonraki ayın tüm tarihleri ​​çıktıda sıfır olarak görünür.

Yerel Sistemden Ay ve Hafta İçi Gün Adlarını Nasıl Alırım?

) 4 Adım Ay veya hafta içi günleri gibi verileri yerel sistemden alabilirsiniz.

Yerel sistemden ay adlarını getir. Python

  • Buradaki çıktı, yerel sistemden ay adlarını yazdırdığımızı gösteriyor. Benzer şekilde, aşağıda gösterildiği gibi hafta içi gün adlarını da alabilirsiniz.
  • Çıktı, yerel sisteme bağlıdır. Yerel sisteminiz başka bir ülkeye ayarlanmışsa, çıktı o ülkenin yerel ayarlarına göre verilir. Burada ayları ele aldığımız için bir fark yaratmayacaktır, ancak bir hafta veya bir gün için kesinlikle farklılık gösterecektir.

Hafta içi günlerinin adlarını yerel sistemden alın. Python

Tüm Yıl İçin Belirli Bir Günü Nasıl Bulabilirsiniz?

) 5 Adım Belirli bir güne ait tüm yıl için listeyi alabilirsiniz. Örneğin, her ayın birinci günü denetim günüdür. Monday Bir haftanın ilk gününün tarihini öğrenmek istediğinizi varsayalım. Monday Her ay için. Bu kodu kullanabilirsiniz.

Tüm yıl için belirli bir günü bulun. Python

  • mycal = calendar.monthcalendar(2025, month) ifadesi, o ay için bir takvim oluşturur.
  • week1 ve week2 değişkenlerini takvimin birinci ve ikinci haftasına ayarlayın.
  • 1. haftanın içerip içermediğini kontrol edin. Monday ve denetim gününü belirleyin.
  • Aksi takdirde, denetim gününü ilk gün olarak belirleyin. Monday 2. haftada.
  • Çıktı ilkinin tarihini gösterir Monday o aya denk geliyor.
  • Bu Cal nesnesinin uzunluğu, ayda kaç hafta olduğuna bağlıdır. Bizim durumumuzda, ilki gibi, bir veya iki haftadır. Monday Haftanın en önemli olayı genellikle ilk haftada gerçekleşir, ancak değilse ikinci haftayı dikkate alırız. İkinci haftayı da neden dikkate aldığımızı detaylı olarak inceleyelim.
  • Burada takvim sabitini kullanıyoruz. MondayTakvim nesnesi size Pazar gününü temsil eden sabitler verir. MondaySalı ve benzeri. Eğer birinci haftada, ile temsil edilen gün Monday Sabit sayı 0'a eşit değildir – unutmayın, sıfırlar başka bir aya ait günleri ifade eder – o halde bu Monday Bu aya ait ve denetim günü birinci hafta içinde. Eğer 0 ise, o zaman ilk Monday Ayın ilk haftasında değilse, ikinci haftasında olmalı.
  • Bu durumda, denetim günü değişkenini şu değere ayarlıyoruz: Monday İkinci hafta ile temsil edilir. Denetim günü, birinci veya ikinci haftanın günü neyse o şekilde geri döner.

Tamamla Python Takvim Code Örnek E-posta

İşte kodun tamamı.

Python 2 Örnek

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print str

# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print str
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
    print i

    # The calendar can give info based on local such a names of days and months (full and abbreviated forms)
    for name in calendar.month_name:
        print name
    for day in calendar.day_name:
        print day
    # calculate days based on a rule: For instance an audit day on the second Monday of every month
    # Figure out what days that would be for each month, we can use the script as shown here
    for month in range(1, 13):
		# It retrieves a list of weeks that represent the month
        mycal = calendar.monthcalendar(2025, month)
		# The first MONDAY has to be within the first two weeks
        week1 = mycal[0]
        week2 = mycal[1]
        if week1[calendar.MONDAY] != 0:
            auditday = week1[calendar.MONDAY]
        else:
        # if the first MONDAY isn't in the first week, it must be in the second week
        	auditday = week2[calendar.MONDAY]
print "%10s %2d" % (calendar.month_name[month], auditday)

Python 3 Örnek

import calendar
# Create a plain text calendar
c = calendar.TextCalendar(calendar.THURSDAY)
str = c.formatmonth(2025, 1, 0, 0)
print(str)

# Create an HTML formatted calendar
hc = calendar.HTMLCalendar(calendar.THURSDAY)
str = hc.formatmonth(2025, 1)
print(str)
# loop over the days of a month
# zeroes indicate that the day of the week is in a next month or overlapping month
for i in c.itermonthdays(2025, 4):
    print(i)

    # The calendar can give info based on local such a names of days and months (full and abbreviated forms)
    for name in calendar.month_name:
        print(name)
    for day in calendar.day_name:
        print(day)
    # calculate days based on a rule: For instance an audit day on the second Monday of every month
    # Figure out what days that would be for each month, we can use the script as shown here
    for month in range(1, 13):
		# It retrieves a list of weeks that represent the month
        mycal = calendar.monthcalendar(2025, month)
		# The first MONDAY has to be within the first two weeks
        week1 = mycal[0]
        week2 = mycal[1]
        if week1[calendar.MONDAY] != 0:
            auditday = week1[calendar.MONDAY]
        else:
        # if the first MONDAY isn't in the first week, it must be in the second week
        	auditday = week2[calendar.MONDAY]
print("%10s %2d" % (calendar.month_name[month], auditday))

Faydalı Fonksiyonlar Python Takvim Modülü

Yukarıdaki adım adım açıklamaya ek olarak, takvim modülü, sınıf örneği oluşturmaya gerek kalmadan çalışan birkaç kullanışlı işlevle birlikte gelir:

  • takvim.takvim(yıl) Tam yıl takvimini çok satırlı bir dize olarak döndürürken takvim.yıl(yıl) Doğrudan yazdırır.
  • takvim.ay(yıl, ay) Tek bir ayı metin olarak döndürür ve takvim.pray(yıl, ay) yazdırır.
  • takvim.aytakvimi(yıl, ay) Bu fonksiyon, ayı hafta satırlarından oluşan bir liste olarak döndürür; burada her gün bir tamsayıdır ve ay dışındaki günler 0'dır.

Bu işlevler, TextCalendar veya HTMLCalendar sınıflarının ek kontrolüne ihtiyaç duymadığınız komut dosyaları ve etkileşimli oturumlarda kullanışlı olan hızlı, tek satırlık takvim çıktısı oluşturmayı mümkün kılar.

Artık Yıl Olup Olmadığını Nasıl Kontrol Edebilirsiniz? Python

Takvim modülü ayrıca bir yılın artık yıl olup olmadığını da size söyleyebilir; bu önemlidir çünkü artık yıllarda Şubat ayı 28 gün yerine 29 gündür. Bunu iki fonksiyon ele alır:

  • takvim.isleap(yıl) Yıl artık yıl ise True, aksi halde False döndürür.
  • takvim.artıkgünler(y1, y2) y1'den y2'ye kadar (y2 dahil değil) olan aralıktaki artık yılların sayısını döndürür.

Örneğin, calendar.isleap(2024) True değerini döndürürken, calendar.isleap(2025) False değerini döndürür. Artık yıl kontrolleri, tarihleri ​​doğruladığınızda, tekrarlayan etkinlikleri planladığınızda veya iki yıl arasındaki tam gün sayısını hesapladığınızda kullanışlıdır.

SSS

Takvim modülü, metin, HTML, hafta içi numaraları ve artık yıl kontrolleri gibi takvimlerin oluşturulması ve analizine odaklanır. Tarih ve saat modülü ise belirli zaman damgalarını, aritmetik işlemleri ve tek tek tarih ve saatlerin biçimlendirilmesini ele alır. Birçok program her iki modülü de içe aktarır ve birlikte kullanır.

Calendar.weekday(year, month, day) fonksiyonunu çağırın. Bu fonksiyon 0 ile 1 arasında bir tamsayı döndürür.Monday) 6'ya (Pazar) kadar. Bu sayıyı, takvimdeki `day_name` özelliğiyle eşleştirerek okunabilir bir etikete dönüştürebilirsiniz, örneğin: Monday veya Cuma.

Calendar.monthrange(year, month) kullanın. Bu, ikinci değeri gün sayısı olan bir demet döndürür, bu nedenle calendar.monthrange(2025, 2)[1] 28 döndürür. İlk değer, o ayın ilk gününün hafta içi günüdür.

Calendar.LocaleTextCalendar veya calendar.LocaleHTMLCalendar kullanın ve "fr_FR" gibi bir yerel ayar belirtin. Biçimlendirilmiş ay, işletim sisteminde bu yerel ayar yüklüyse, o dildeki hafta içi ve ay adlarını yazdırır.

HTMLCalendar().formatmonth(2025, 1) ile işaretlemeyi oluşturun, ardından dosyayı yazma modunda açın ve bu dizeyle write() işlevini çağırın. Dosyayı .html uzantısıyla kaydetmek, herhangi bir tarayıcının biçimlendirilmiş takvimi görüntülemesini sağlar.

Varsayılan olarak hafta şu tarihte başlar: MondayAvrupa konvansiyonuna uygun olarak, haftanın başka bir günde başlamasını sağlamak için calendar.setfirstweekday(calendar.SUNDAY) yöntemini çağırın veya TextCalendar'a calendar.SUNDAY gibi bir sabit değer geçirin.

Veri işlem hatları, ham tarihlerden hafta içi günü, hafta numarası ve artık yıl işaretleri gibi özellikleri türetmek için takvim fonksiyonlarını kullanır. Bu tasarlanmış takvim özellikleri, makine öğrenimi modellerinin zaman serisi tahminlerinde haftalık ve mevsimsel kalıpları yakalamasına yardımcı olur.

Evet. GitHub Copilot ve yapay zekâ destekli asistanlar, kısa bir yorumdan yola çıkarak takvim modülü kod parçacıkları yazabilir; örneğin ayları yazdırabilir, artık yılları kontrol edebilir veya HTML takvim oluşturabilirler. RevHafta içi indeksleme ve ilk gün ayarları karıştırılmaya müsait olduğundan, çıktıyı inceleyin.

Bu yazıyı şu şekilde özetleyin: