Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python

Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python

WBOY
WBOYke hadapan
2023-05-18 17:58:061703semak imbas

** Versi chinese_calendar setakat keluaran artikel ini ialah 1.8.0, dan versi baharu akan dikemas kini sekitar November setiap tahun semasa cuti tahun berikutnya

import datetime
from chinese_calendar import is_workday
def get_pervious_work_day(day: datetime):
    """获取上一个工作日"""
    day = day - datetime.timedelta(days=1)
    if is_workday(day):
        return day
    return get_pervious_work_day(day)

Menguji Sabtu dan Ahad :

today = datetime.date.today().replace(day=20)
date = get_pervious_work_day(today)
print(date)

Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python

Ujian Festival Musim Bunga 2023:

today = datetime.date.today().replace(day=28).replace(month=1)
date = get_pervious_work_day(today)
print(date)

Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python

Ujian 2023 Hari Pekerja:

rreee

Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python

Bahagian Hari Kebangsaan Ujian 2023:

today = datetime.date.today().replace(day=4).replace(month=5)
date = get_pervious_work_day(today)
print(date)

Sambungan: Python mengira tarikh selepas hari bekerja tertentu

Saya mahu menulisnya sendiri pada mulanya, tetapi kerana masa cuti di China tidak tetap, saya perlu meneruskan dan mengisinya secara manual Agak menyusahkan untuk menyemak sama ada tarikh itu adalah hari cuti yang sah, jadi saya menemui modul yang dipanggil chinese_calendar dalam python. Penulis harus terus mengemas kini

Kod dan idea sebenarnya sangat mudah

Keperluan saya ialah mengira tarikh tertentu Bermula dari tarikh, berapa hari bekerja kemudian tarikh ini

Berikut contoh menggunakan julat masa tahun dari 10 September 2021 hingga 10 September 2022

Untuk mengira 30 hari bekerja selepas 10 September 2021, apakah tarikhnya?

today = datetime.date.today().replace(day=7).replace(month=10)
date = get_pervious_work_day(today)
print(date)

Satu perkara yang perlu diperhatikan ialah bilangan hari dalam bulan Februari Bilangan hari dalam tahun lompat dan tahun rata adalah berbeza mengikut Keperluan diambil kira

Atas ialah kandungan terperinci Cara menggunakan chinese_calendar untuk mendapatkan tarikh hari bekerja terakhir dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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