Table of Contents
Extension: Python calculates the date after a certain working day
Home Backend Development Python Tutorial How to use chinese_calendar to get the last working day date in python

How to use chinese_calendar to get the last working day date in python

May 18, 2023 pm 05:58 PM
python

**The latest version of chinese_calendar is 1.8.0 as of the release of this article. The new version will be updated during the following year’s holidays around November each year.

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)
Copy after login

Testing Saturdays and Sundays:

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

How to use chinese_calendar to get the last working day date in python

Test 2023 Spring Festival:

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

How to use chinese_calendar to get the last working day date in python

Test 2023 Labor Day:

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

How to use chinese_calendar to get the last working day date in python

Test 2023 National Day Section:

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

Extension: Python calculates the date after a certain working day

I wanted to write it myself at first, but because the holiday time in China is not fixed, I need to continue and fill it in manually It is quite troublesome to check whether the date is a legal holiday, so I found that python has a module called chinese_calendar. The author should continue to update it

The code and ideas are actually very simple

My need is to calculate a certain date Starting from a date, how many working days will this date be?

The example below is the time range of the year from September 10, 2021 to September 10, 2022

To calculate the 30 working days after September 10, 2021, what is the date?

import chinese_calendar
import datetime
def after_work_day():
    year = 2021
    month = 9
    day = 10
    # after_work_days是设置多少个工作日
    after_work_days = 30
    next_year = year + 1
    range_time = datetime.datetime(next_year, month, day)
    # 如果一年后的时间超过了模块规定的最长时间,那么直接取最新版的最大时间 截止目前(2022.11.30)最新版到2022年末,需要等国家出台了明年的放假安排之后可能才会更新
    if range_time >= datetime.datetime(2022, 12, 31):
        range_time = datetime.datetime(2022, 12, 31)
    work_days = chinese_calendar.get_workdays(datetime.datetime(year, month, day), range_time)
    count = 0
    for work_day in work_days:
        count += 1
        if count > after_work_days:
            print(work_day)
            break
if __name__ == '__main__':
    after_work_day()
Copy after login

One thing to note is the number of days in February. The number of days in leap years and flat years is different. According to Needs taken into account

The above is the detailed content of How to use chinese_calendar to get the last working day date in python. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to download deepseek Xiaomi How to download deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

How to download deepseek Xiaomi

What are the advantages and disadvantages of templating? What are the advantages and disadvantages of templating? May 08, 2024 pm 03:51 PM

What are the advantages and disadvantages of templating?

Google AI announces Gemini 1.5 Pro and Gemma 2 for developers Google AI announces Gemini 1.5 Pro and Gemma 2 for developers Jul 01, 2024 am 07:22 AM

Google AI announces Gemini 1.5 Pro and Gemma 2 for developers

For only $250, Hugging Face's technical director teaches you how to fine-tune Llama 3 step by step For only $250, Hugging Face's technical director teaches you how to fine-tune Llama 3 step by step May 06, 2024 pm 03:52 PM

For only $250, Hugging Face's technical director teaches you how to fine-tune Llama 3 step by step

Share several .NET open source AI and LLM related project frameworks Share several .NET open source AI and LLM related project frameworks May 06, 2024 pm 04:43 PM

Share several .NET open source AI and LLM related project frameworks

A complete guide to golang function debugging and analysis A complete guide to golang function debugging and analysis May 06, 2024 pm 02:00 PM

A complete guide to golang function debugging and analysis

How do you ask him deepseek How do you ask him deepseek Feb 19, 2025 pm 04:42 PM

How do you ask him deepseek

How to save the evaluate function How to save the evaluate function May 07, 2024 am 01:09 AM

How to save the evaluate function

See all articles