Python Modul kalender dengan Contoh
⚡ Ringkasan Cerdas
Modul kalender di Python Menghasilkan kalender teks dan HTML menggunakan kelas TextCalendar dan HTMLCalendar. Ia melakukan perhitungan tanggal berdasarkan hari, bulan, dan tahun, serta memungkinkan Anda untuk menyesuaikan hari kerja awal untuk bulan apa pun.

The modul kalender di Python memiliki kelas kalender yang memungkinkan perhitungan untuk berbagai tugas berdasarkan tanggal, bulan, dan tahun. Selain itu, Kalender Teks ke Kalender HTML kelas di Python Memungkinkan Anda mengedit kalender dan menggunakannya sesuai kebutuhan Anda. Mari kita lihat apa yang dapat kita lakukan dengan ini. Python kalender.
Apa itu modul kalender di Python?
The modul kalender merupakan bagian dari Python Pustaka standar, sehingga tersedia tanpa perlu instalasi. Pustaka ini mengelompokkan beberapa kelas dan fungsi pembantu yang membangun kalender dan menjawab pertanyaan umum tentang tanggal, seperti hari kerja apa suatu tanggal jatuh atau berapa hari dalam sebulan.
Modul ini menyediakan lima kelas utama:
- Kalender adalah kelas dasar yang menyediakan data yang digunakan untuk membangun kalender-kalender lainnya.
- Kalender Teks menghasilkan kalender teks biasa untuk satu bulan atau satu tahun penuh.
- Kalender HTML Menghasilkan kalender dalam bentuk tabel HTML untuk halaman web.
- Kalender Teks Lokal adalah kalender teks yang menggunakan nama hari dan bulan dari lokasi yang dipilih.
- Kalender HTML Lokal adalah padanan HTML yang menghormati lokal yang dipilih.
Secara default, satu minggu kalender dimulai pada Monday, mengikuti konvensi Eropa. Anda dapat mengubah hari pertama menggunakan konstanta seperti calendar.SUNDAY, seperti yang ditunjukkan pada contoh di bawah ini.
Cara Mencetak Kalender Teks di Python
Langkah 1) Jalankan kodenya.
- Code Baris # 1: Kita mulai dengan “import calendar”, yang akan mengimpor semua kelas dari modul ini.
- Code Baris # 3: c= calendar.TextCalendar(calendar.SUNDAY) memberi tahu interpreter untuk membuat kalender teks. Awal bulan akan jatuh pada hari Minggu. Dalam PythonAnda dapat memformat kalender sesuai keinginan dan mengubah tanggal awal bulan.
- Code Baris # 4: str= c.formatmonth(2025,1) membuat kalender untuk tahun 2025, Bulan 1 – Januari.
- Code Baris # 5: print str akan mencetak output.
Mari kita ubah nilai dari Minggu menjadi Kamis dengan cepat dan periksa hasilnya.
Cara Mencetak Kalender HTML di Python
Langkah 2) Anda juga dapat mencetak kalender dalam format HTML. Fitur ini bermanfaat bagi pengembang yang ingin melakukan perubahan pada tampilan dan nuansa kalender.
Cara Melakukan Perulangan pada Hari-hari dalam Sebulan
Langkah 3) loops Dengan menggunakan c.itermonthdays (2025,4), jumlah hari dalam sebulan akan diambil.
- Saat Anda menjalankan kode untuk mendapatkan jumlah total hari untuk bulan tertentu, misalnya "April", Anda akan mendapatkan 30 hari dalam output, tetapi Anda juga akan melihat beberapa angka nol di samping hari-hari tersebut di awal dan terkadang di akhir.
- Angka nol pada output berarti hari dalam seminggu tersebut tumpang tindih.ping bulan, yang berarti itu bukan milik bulan itu.
- Angka nol ini muncul dalam output karena, dalam kode Anda, Anda telah menyebutkan sebuah hari (Kamis). Jadi ketika Anda memanggil fungsi "c.itermonthdays", fungsi tersebut mulai menghitung hari dari hari Kamis, dan hari Kamis Anda mungkin tidak dimulai pada tanggal 1 April – mungkin tanggal 28 atau 29 Maret. Jadi kode tersebut mulai menghitung hari dari tanggal 28 Maret dan hari-hari setelahnya hingga tanggal 1 April. Hari-hari ini dihitung sebagai nol, dan dalam output Anda akan melihat angka nol ini. Hal yang sama berlaku untuk akhir bulan.
- Jadi, kecuali tanggal 1–30, semua tanggal dari bulan sebelumnya maupun bulan berikutnya muncul dalam output sebagai angka nol.
Cara Mengambil Nama Bulan dan Hari dalam Seminggu dari Sistem Lokal
Langkah 4) Anda dapat mengambil data dari sistem lokal, seperti bulan atau hari dalam seminggu.
- Output di sini menunjukkan bahwa kita telah mencetak nama-nama bulan dari sistem lokal. Demikian pula, Anda juga dapat mengambil nama-nama hari dalam seminggu, seperti yang ditunjukkan di bawah ini.
- Outputnya bergantung pada sistem lokal. Jika sistem lokal Anda diatur ke negara lain, maka output akan ditampilkan sesuai dengan pengaturan lokal negara tersebut. Di sini kita menggunakan bulan, jadi tidak akan ada perbedaan, tetapi untuk minggu atau hari, outputnya pasti akan berbeda.
Cara Menemukan Hari Tertentu dalam Setahun
Langkah 5) Anda dapat mengambil daftar untuk hari tertentu selama setahun penuh. Misalnya, ada hari audit setiap tanggal satu. Monday dalam seminggu. Misalkan Anda ingin mengetahui tanggal pertama Monday untuk setiap bulan. Anda dapat menggunakan kode ini.
- mycal = calendar.monthcalendar(2025, month) membuat kalender untuk bulan tersebut.
- Tetapkan variabel week1 dan week2 ke minggu pertama dan kedua kalender.
- Periksa apakah minggu 1 berisi Monday dan menetapkan hari audit.
- Jika tidak, tetapkan hari audit sebagai yang pertama. Monday pada minggu ke-2.
- Outputnya menunjukkan tanggal pertama Monday yang jatuh pada bulan itu.
- Panjang objek Cal ini bergantung pada berapa minggu dalam sebulan. Dalam kasus kita, jumlahnya satu atau dua, karena yang pertama Monday Minggu pertama biasanya menjadi minggu pertama, tetapi jika tidak, maka kita mempertimbangkan minggu kedua. Mari kita lihat secara detail mengapa kita juga mempertimbangkan minggu kedua.
- Di sini kita menggunakan konstanta kalender. MondayObjek kalender memberi Anda konstanta yang mewakili hari Minggu, Monday, Selasa, dan seterusnya. Jika, pada minggu pertama, hari yang diwakili oleh Monday konstanta tidak sama dengan 0 – ingat, angka nol berarti hari-hari yang termasuk dalam bulan lain – lalu itu Monday termasuk dalam bulan ini dan hari audit berada dalam minggu pertama. Jika nilainya 0, maka yang pertama Monday bukan di minggu pertama bulan ini, jadi pasti di minggu kedua.
- Dalam hal ini, kami menetapkan variabel hari audit ke Monday diwakili oleh minggu kedua. Hari audit akan kembali sesuai dengan tanggal pada minggu pertama atau kedua.
Menyelesaikan Python Kalender Code Example
Berikut kode lengkapnya.
Python 2 Contoh
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 Contoh
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))
Fungsi-fungsi yang Berguna dalam Python Modul kalender
Selain panduan di atas, modul kalender dilengkapi dengan beberapa fungsi praktis yang dapat digunakan tanpa perlu membuat instance kelas:
- kalender.kalender(tahun) mengembalikan kalender setahun penuh sebagai string multi-baris, sementara kalender.prcal(tahun) mencetaknya secara langsung.
- kalender.bulan(tahun, bulan) mengembalikan satu bulan sebagai teks, dan kalender.prmonth(tahun, bulan) mencetaknya.
- kalender.kalenderbulanan(tahun, bulan) Mengembalikan bulan sebagai daftar baris minggu, di mana setiap hari adalah bilangan bulat dan hari di luar bulan adalah 0.
Fungsi-fungsi ini memungkinkan output kalender satu baris yang cepat, yang sangat praktis dalam skrip dan sesi interaktif di mana Anda tidak memerlukan kontrol tambahan dari kelas TextCalendar atau HTMLCalendar.
Cara Memeriksa Apakah Tahun Kabisat Python
Modul kalender juga dapat memberi tahu Anda apakah suatu tahun adalah tahun kabisat, yang penting karena bulan Februari memiliki 29 hari, bukan 28 hari, pada tahun-tahun tersebut. Dua fungsi menangani hal ini:
- kalender.isleap(tahun) Mengembalikan nilai True jika tahun tersebut adalah tahun kabisat dan False jika bukan.
- kalender.hari kabisat(y1, y2) Mengembalikan jumlah tahun kabisat dalam rentang dari y1 hingga, tetapi tidak termasuk, y2.
Misalnya, calendar.isleap(2024) mengembalikan True, sedangkan calendar.isleap(2025) mengembalikan False. Pemeriksaan tahun kabisat berguna setiap kali Anda memvalidasi tanggal, menjadwalkan acara berulang, atau menghitung jumlah hari yang tepat antara dua tahun.







