Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dapatkan bulan dalam tahun dan hari dalam seminggu menggunakan Python

Dapatkan bulan dalam tahun dan hari dalam seminggu menggunakan Python

WBOY
WBOYke hadapan
2023-09-15 17:41:02844semak imbas

Dapatkan bulan dalam tahun dan hari dalam seminggu menggunakan Python

Masa pemprosesan adalah salah satu aspek terpenting dalam sebarang aktiviti harian. Dalam artikel ini, kami akan membincangkan cara mendapatkan bulan dari tahun dan hari kerja menggunakan Python. Kami akan menggunakan dua perpustakaan Python yang paling popular, kalendar dan masa tarikh, untuk mengendalikan bulan, tahun, dsb. Kedua-dua perpustakaan menyediakan beberapa kaedah terbina dalam untuk mengendalikan masa. Jika kita berurusan dengan perpustakaan sedemikian, kita tidak perlu mengambil berat secara khusus tentang tugas yang mencabar seperti tahun lompat.

Gunakan perpustakaan kalendar

Pustaka kalendar dalam Python menyediakan fungsi dan kelas yang berguna untuk bekerja dengan kalendar dan tarikh. Ia menyediakan pelbagai fungsi untuk menjana kalendar, memanipulasi tarikh dan melakukan pengiraan berkaitan kalendar. Ia memudahkan tugas yang berkaitan dengan menjana kalendar, mengira hari bekerja dan memanipulasi tarikh, menjadikannya alat yang berharga untuk mengendalikan operasi berkaitan kalendar dalam pelbagai aplikasi.

Contoh

Dalam contoh di bawah, kami mula-mula mengimport modul kalendar dalam kod. Seterusnya, kami mentakrifkan fungsi yang mengambil tahun dan hari bekerja masing-masing sebagai integer dan rentetan. Kami mengulang 12 kali, dan pada setiap lelaran kami mengakses hari pertama hari bekerja menggunakan kaedah hari bekerja. Seterusnya, kami menyemak hari pertama bulan itu, yang sama dengan hari bekerja yang diberikan. Kami kembali pada bulan yang sama.

import calendar
def get_month(year, weekday):
    for month in range(1, 13):
        _, days = calendar.monthrange(year, month)
        first_day_weekday = calendar.weekday(year, month, 1)
        if calendar.day_name[first_day_weekday] == weekday:
            return calendar.month_name[month]
    return None
year = 2023
weekday = 'Monday'
month = get_month(year, weekday)
if month:
    print(f"The month with {weekday}s as the first weekday in {year} is {month}.")
else:
    print(f"There is no {weekday} as the first weekday in any month of {year}.")

Output

The month with Mondays as the first weekday in 2023 is May.

Menggunakan modul Datetime dan Timedelta

Modul timedelta dalam Python menyediakan fungsi untuk mengendalikan perbezaan masa atau tempoh. Ia membolehkan anda melakukan operasi aritmetik pada tarikh dan masa, seperti menambah atau menolak selang masa. Memandangkan masa adalah jenis yang berbeza berbanding dengan integer, operasi biasa tidak berfungsi padanya.

Contoh

Dalam kod di bawah, kami mula-mula mengimport modul datetime dan timedelta. Seterusnya, kami mencipta fungsi yang ditentukan pengguna yang dipanggil get_month. Fungsi ini mengambil tahun dan hari bekerja sebagai parameter. Kami mengulangi dari 1 hingga 13 (tidak termasuk 13). Pada setiap lelaran, kod membandingkan hari minggu first_day dengan parameter hari kerja yang dihantar kepada fungsi. Ia melakukan ini dengan memanggil kaedah strftime('%A') pada first_day untuk memformat tarikh kepada nama penuh hari minggu (cth. Isnin, Selasa, dsb.).

from datetime import datetime, timedelta

def get_month(year, weekday):
    for month in range(1, 13):
        first_day = datetime(year, month, 1)
        if first_day.strftime('%A') == weekday:
            return first_day.strftime('%B')
year = 2023
weekday = 'Saturday'
month = get_month(year, weekday)
if month:
    print(f"The month with {weekday}s as the first weekday in {year} is {month}.")
else:
    print(f"There is no {weekday} as the first weekday in any month of {year}.")

Output

The month with Saturdays as the first weekday in 2023 is April.

Gunakan kaedah hari bekerja

Kaedah

weekday() ialah fungsi dalam modul datetime dalam Python. Kami menggunakan ini untuk menentukan hari bekerja. Kaedah ini mengembalikan integer yang mewakili hari bekerja, dengan hari Isnin ialah 0 dan Ahad ialah 6. Dengan memanggil kaedah hari kerja() pada objek datetime.date, anda boleh mendapatkan maklumat hari minggu dengan mudah dan menggunakannya dalam pelbagai pengiraan dan operasi berkaitan tarikh dalam program Python.

Contoh

Dalam contoh yang diberikan, fungsi find_month_with_weekday kaedah mengambil dua parameter: tahun dan hari bekerja. Ia berulang setiap bulan dalam tahun tertentu menggunakan gelung for antara 1 hingga 13. Ia menyemak sama ada hari minggu first_day sepadan dengan hari minggu yang ditentukan menggunakan kaedah .weekday(), yang mengembalikan integer yang mewakili hari bekerja. Di sini Isnin diwakili oleh 0, Selasa diwakili oleh 1, dan seterusnya. Jika padanan ditemui, ia mengembalikan nama bulan untuk first_day menggunakan .strftime("%B") , yang memformat tarikh kepada nama bulan penuh.

import datetime

def find_month_with_weekday(year, weekday):
    for month in range(1, 13):
        first_day = datetime.date(year, month, 1)
        if first_day.weekday() == weekday:
            return first_day.strftime("%B")
    return None
test_year = 2023
test_weekday = 3 
result = find_month_with_weekday(test_year, test_weekday)
if result:
    print(f"The month with {datetime.date(test_year, 1, 1 + test_weekday).strftime('%A')} as the first weekday in {test_year} is {result}.")
else:
    print(f"No month with {datetime.date(test_year, 1, 1 + test_weekday).strftime('%A')} as the first weekday found in {test_year}.")

Output

The month with Wednesday as the first weekday in 2023 is June.

Kesimpulan

Dalam artikel ini, kami belajar cara mendapatkan bulan dan hari kerja dalam setahun menggunakan Python. Python memberikan kami beberapa perpustakaan untuk masa, seperti datetime, kalendar, dll. Ia juga membolehkan kami mengendalikan minggu, bulan, dsb. Jadi kita boleh menggunakan gabungan perpustakaan ini dan logik Python lain untuk mengakses bulan dari tahun ke tahun. hari bekerja.

Atas ialah kandungan terperinci Dapatkan bulan dalam tahun dan hari dalam seminggu menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam