Python Tutorial KALENDER beserta Contohnya
Modul kalender masuk Python memiliki kelas kalender yang memungkinkan penghitungan berbagai tugas berdasarkan tanggal, bulan, dan tahun. Selain itu, kelas TextCalendar dan HTMLCalendar di Python memungkinkan Anda mengedit kalender dan menggunakannya sesuai kebutuhan Anda.
Mari kita lihat apa yang bisa kita lakukan Python Kalender.
Langkah 1) Jalankan kodenya.
- Baris Kode #1: Kita mulai dengan “impor kalender” yang akan mengimpor semua kelas modul ini.
- Baris Kode # 3: c= kalender.TextCalendar(calendar.SUNDAY) memberitahu penerjemah untuk membuat kalender teks. Awal bulan adalah hari Minggu. Di dalam Python, Anda dapat memformat kalender sesuai dengan perubahan hari pada bulan tersebut
- Baris Kode #4: str= c.formatmonth(2025,1) Kita membuat kalender untuk tahun 2025, Bulan 1 – Januari
- Baris Kode #5: print str akan mencetak hasilnya.
Mari kita segera ubah nilainya dari Minggu ke Kamis dan periksa hasilnya
Langkah 2) Anda juga dapat mencetak Kalender dalam format HTML, fitur ini berguna bagi pengembang jika ingin melakukan perubahan pada tampilan dan nuansa kalender
Langkah 3) loops selama hari dalam sebulan dengan menggunakan c.itermonthday (2025,4), ia akan mengambil jumlah hari total untuk bulan itu.
- Ketika Anda menjalankan kode untuk mendapatkan jumlah hari untuk bulan tertentu, katakan "April" maka Anda akan mendapatkan output 30 hari tetapi Anda juga akan melihat beberapa angka nol bersama dengan hari-hari ini di awal dan terkadang di akhir. .
- Angka nol pada keluaran berarti hari dalam seminggu berada dalam bulan yang tumpang tindih, yang berarti hari tersebut bukan milik bulan tersebut.
- Angka nol ini muncul di keluaran karena, dalam kode Anda, Anda telah menyebutkan hari (Kamis), jadi ketika Anda memanggil fungsi "c.itermonthdays", itu akan mulai menghitung hari dari Kamis dan Kamis Anda mungkin tidak dimulai dengan tanggal 1st bulan April mungkin tanggal 28th atau 29th bulan Maret, jadi saat Anda menjalankan kode, penghitungan hari akan dimulai dari tanggal 28th bulan Maret dan hari apa pun setelahnya sampai tanggal 1st bulan April. Hari-hari ini akan dihitung sebagai nol dan pada output Anda akan melihat angka nol ini dan hal yang sama berlaku untuk akhir bulan.
- Jadi kecuali tanggal 1-30, semua tanggal dari bulan sebelumnya dan setelahnya akan muncul di output sebagai nol.
Langkah 4) Anda dapat mengambil data dari sistem lokal, seperti bulan atau hari kerja, dll
- Output di sini menunjukkan bahwa kita telah mencetak nama bulan dari sistem lokal. Demikian pula, Anda juga dapat mengambil nama hari dalam seminggu seperti yang ditunjukkan di bawah ini
-
Outputnya akan bergantung pada sistem lokal, misalkan jika sistem lokal Anda di negara lain maka outputnya akan sesuai dengan pengaturan lokal negara tersebut. Disini kita punya waktu berbulan-bulan jadi tidak akan ada bedanya tapi kalau seminggu atau sehari pasti berbeda.
Langkah 5) Anda dapat mengambil daftar hari tertentu selama setahun penuh. Misalnya, ada hari audit pada setiap hari pertama Monday dalam seminggu. Anda ingin tahu tanggalnya dulu Monday untuk setiap bulan. Anda dapat menggunakan kode ini
- mycal = kalender.bulancalendar(2025, bulan) akan membuat kalender untuk bulan tersebut
- Tetapkan variabel minggu1 dan minggu2 ke minggu pertama dan kedua kalender
- Periksa apakah Minggu 1 berisi Monday, tetapkan hari audit
- Jika tidak, tetapkan hari audit sebagai hari pertama Monday di minggu ke-2
- Outputnya menunjukkan tanggal pertama Monday yang jatuh pada bulan itu.
- Panjang benda Cal ini akan menjadi panjang tertentu, berdasarkan berapa minggu berada di sana dalam sebulan. Dalam kasus kami, yang pertama adalah satu atau dua Monday minggu ini paling sering berada di minggu pertama tetapi jika tidak maka pertimbangkan minggu kedua. Mari kita lihat secara detail mengapa kami juga mempertimbangkan minggu kedua.
- Di sini kita menggunakan konstanta kalender Monday, objek kalender memberi Anda konstanta yang mewakili hari Minggu, Monday, Selasa, seterusnya, dan seterusnya. Kami telah melihat ini sebelumnya. Jadi, jika pada minggu pertama hari diwakili oleh Monday konstanta tidak sama dengan 0, ingat angka nol berarti hari milik bulan lain. Jadi, dalam hal ini, jika nol, maka akan menjadi a Monday itu milik bulan sebelumnya. Tapi kalau yang pertama Monday tidak sama dengan 0, itu berarti hari audit saya akan berada dalam minggu pertama. Jika tidak, jika itu 0, maka yang pertama Monday bukan di minggu pertama setiap bulannya, tapi pasti di minggu kedua.
- Jadi, saya bilang oke, tetapkan variabel hari audit saya menjadi Monday diwakili oleh Minggu kedua. Jadi, hari audit akan kembali pada hari apa pun, baik untuk minggu pertama atau kedua.
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))
Ringkasan
- In Python, Anda dapat memformat kalender sesuai keinginan Anda karena Anda dapat mengubah hari pada bulan tersebut untuk memulai
- Cetak Kalender dalam format HTML
- Ambil data dari sistem lokal, seperti bulan atau hari kerja
- Ambil daftar hari tertentu selama setahun penuh







