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








