Buat Kalender HTML Dengan Python Secara Dinamis

Python kalender modul adalah bagian dari perpustakaan standar. Ini memungkinkan output kalender berdasarkan bulan atau tahun dan juga menyediakan fungsionalitas terkait kalender lainnya.

Itu kalender Modul itu sendiri tergantung pada modul datetime. Tetapi kita juga perlu tanggal Waktu untuk keperluan kita sendiri nanti, jadi sebaiknya impor keduanya. Juga, untuk melakukan pemisahan string, kita membutuhkan kembali modul. Mari kita impor semuanya dalam sekali jalan.

Secara default, kalender dimulai minggu dengan Senin (hari 0), per konvensi Eropa, dan berakhir dengan Minggu (hari 6). Jika Anda lebih suka hari Minggu sebagai hari pertama dalam seminggu, gunakan setfirstweekday () metode untuk mengubah default ke hari 6 sebagai berikut:

Untuk beralih di antara keduanya, Anda bisa melewati hari pertama dalam seminggu sebagai argumen menggunakan sys modul. Anda kemudian akan memeriksa nilainya dengan jika pernyataan dan atur setfirstweekday () metode yang sesuai.

Dalam kalender kami, alangkah baiknya jika memiliki tajuk untuk kalender yang bertuliskan seperti "Kalender yang Diproduksi dengan Python Untuk ..." dan memiliki bulan dan tahun saat ini. Untuk melakukan ini, kita perlu mendapatkan bulan dan tahun dari sistem. Fungsionalitas ini adalah sesuatu yang

instagram viewer
kalender menyediakan, Python dapat mengambil bulan dan tahun. Tapi kami masih punya masalah. Karena semua tanggal sistem adalah numerik dan tidak mengandung bentuk bulan yang tidak disatukan atau non-numerik, kami memerlukan daftar bulan-bulan itu. Masukkan daftar tahun.

Sekarang ketika kita mendapatkan jumlah sebulan, kita dapat mengakses nomor itu (minus satu) dalam daftar dan mendapatkan nama bulan penuh.

Anehnya, itu tanggal Waktu modul memiliki a tanggal Waktu kelas. Dari kelas inilah kita memanggil dua objek: sekarang() dan tanggal(). Metode datetime.datetime.now () mengembalikan objek yang berisi informasi berikut: tahun, bulan, tanggal, jam, menit, detik, dan mikrodetik. Tentu saja, kami tidak memerlukan informasi waktu. Untuk menghapus informasi tanggal saja, kami memberikan hasil sekarang() untuk datetime.datetime.date () sebagai argumen. Hasilnya adalah itu hari ini sekarang berisi tahun, bulan, dan tanggal yang dipisahkan oleh em-dash.

Untuk memecah sedikit data ini menjadi bagian yang lebih mudah dikelola, kita harus membaginya. Kami kemudian dapat menetapkan bagian ke variabel current_yr, bulan berjalan, dan hari ini masing-masing.

Untuk memahami baris pertama kode ini, bekerjalah dari kanan ke kiri dan dari dalam ke luar. Pertama, kita merangkaikan objek hari ini untuk beroperasi sebagai string. Kemudian, kami membaginya menggunakan em-dash sebagai pembatas, atau token. Akhirnya, kami menetapkan ketiga nilai sebagai daftar ke 'saat ini'.

Untuk menangani nilai-nilai ini dengan lebih jelas dan untuk memanggil nama panjang bulan berjalan tahun, kami menetapkan jumlah bulan untuk current_no. Kami kemudian dapat melakukan sedikit pengurangan dalam subskrip dari tahun dan tetapkan nama bulan untuk bulan berjalan.

Di baris berikutnya, sedikit substitusi diperlukan. Tanggal dari mana kembali tanggal Waktu adalah nilai dua digit bahkan untuk sembilan hari pertama bulan itu. Nol berfungsi sebagai tempat penampung, tapi kami lebih suka kalender kami hanya memiliki satu digit. Jadi kami mengganti tidak ada nilai untuk setiap nol yang memulai string (karenanya '\ A'). Akhirnya, kami menetapkan tahun untuk current_yr, mengubahnya menjadi bilangan bulat di sepanjang jalan.

Metode yang akan kita panggil nanti akan membutuhkan input dalam format integer. Oleh karena itu, penting untuk memastikan bahwa semua data tanggal disimpan dalam bentuk bilangan bulat, bukan string.

Sebelum kita mencetak kalender, kita perlu mencetakHTML tata letak dan tata letak CSS untuk kalender kami. Buka halaman ini untuk kode untuk mencetak pembukaan CSS dan HTML untuk kalender. dan salin kode ke file program Anda. CSS dalam HTML file ini mengikuti template yang ditawarkan oleh Jennifer Kyrnin, About's Guide to Web Design. Jika Anda tidak memahami bagian kode ini, Anda mungkin ingin berkonsultasi tentang bantuannya untuk mempelajari CSS dan HTML. Akhirnya, untuk menyesuaikan nama bulan, kita perlu baris berikut:

Sekarang tata letak dasar adalah output, kita dapat mengatur kalender itu sendiri. Kalender, pada titik paling mendasar, adalah sebuah tabel. Jadi mari kita buat tabel dalam HTML kita:

Sekarang kita perlu membuat kalender yang sebenarnya. Untuk mendapatkan data kalender yang sebenarnya, kita memerlukan kalender modul kalender bulan () metode. Metode ini mengambil dua argumen: tahun dan bulan dari kalender yang diinginkan (keduanya dalam bentuk bilangan bulat). Ini mengembalikan daftar yang berisi daftar tanggal bulan ke minggu. Jadi jika kita menghitung jumlah item dalam nilai yang dikembalikan, kita memiliki jumlah minggu pada bulan yang diberikan.

Mengetahui jumlah minggu dalam sebulan, kita dapat membuat a untuk loop yang diperhitungkan melalui a jarak() dari 0 hingga jumlah minggu. Seperti itu, itu akan mencetak sisa kalender.

Setelah rentang ini dimulai, tanggal minggu ini akan diambil kembali bulan sesuai dengan nilai konter dan ditugaskan minggu. Kemudian, baris tabular dibuat untuk menahan tanggal kalender.

SEBUAH untuk loop kemudian berjalan melalui hari-hari dalam seminggu sehingga mereka dapat dianalisis. Itu kalender modul mencetak '0' untuk setiap tanggal dalam tabel yang tidak memiliki nilai yang valid. Nilai kosong akan berfungsi lebih baik untuk tujuan kami sehingga kami mencetak bookends data tabular tanpa nilai untuk tanggal tersebut.

Selanjutnya, jika hari itu adalah hari ini, kita harus menyorotnya entah bagaimana. Berdasarkan td kelas hari ini, CSS halaman ini akan menyebabkan tanggal saat ini dibuat dengan latar belakang gelap dan bukan latar belakang terang dari tanggal lainnya.

Akhirnya, jika tanggal adalah nilai yang valid dan bukan tanggal saat ini, itu dicetak sebagai data tabular. Kombinasi warna yang tepat untuk ini diadakan di pembukaan gaya CSS.

Kalender sederhana ini dapat digunakan dengan cara apa pun yang membutuhkan representasi kalender. Dengan hyperlink tanggal dalam HTML, seseorang dapat dengan mudah membuat fungsi buku harian. Atau, seseorang dapat memeriksa terhadap file buku harian dan kemudian mencerminkan tanggal yang diambil oleh warnanya. Atau, jika seseorang mengubah program ini menjadi skrip CGI, ia dapat membuatnya dengan cepat.

instagram story viewer