Hướng dẫn python get last business day of month - python có được ngày làm việc cuối cùng của tháng

Tôi đang cố gắng tìm ngày làm việc cuối cùng trong tháng. Tôi đã viết mã dưới đây cho điều đó và nó hoạt động tốt nhưng tôi đã tự hỏi liệu có cách làm sạch hơn không?

from  datetime import date,timedelta
import datetime
import calendar

today=datetime.date.today[]

last = today.replace[day=calendar.monthrange[today.year,today.month][1]]

if last.weekday[] int:
    return max[calendar.monthcalendar[year, month][-1:][0][:5]]

Xtheking

5652 Huy hiệu vàng8 Huy hiệu bạc29 Huy hiệu đồng2 gold badges8 silver badges29 bronze badges

Đã trả lời ngày 15 tháng 6 năm 2020 lúc 15:53Jun 15, 2020 at 15:53

VBOBCATVBOBCATVBobCat

2.3162 Huy hiệu vàng26 Huy hiệu bạc49 Huy hiệu đồng2 gold badges26 silver badges49 bronze badges

3

Tôi sử dụng điều này cho ngày làm việc đầu tiên trong tháng nhưng nó cũng có thể được sử dụng cho ngày làm việc cuối cùng trong tháng:

import time
import datetime
from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay
from dateutil.relativedelta import relativedelta

#Create dates needed to be entered as parameters
today = datetime.date.today[]
first = today.replace[day=1]
#End of the Prior Month
eopm = first - datetime.timedelta[days=1]
eopm = eopm.strftime["%Y%m%d"]
#Create first business day of current month date
us_bd = CustomBusinessDay[calendar=USFederalHolidayCalendar[]]
focm = first
nxtMo = today + relativedelta[months=+1]
fonm = nxtMo.replace[day=1]
eocm = fonm - datetime.timedelta[days=1]
first_bd = pd.DatetimeIndex[start = focm, end = eocm, freq= us_bd]
first_bd = first_bd.strftime["%Y%m%d"]
#First Business Day of the Month
first_bd = first_bd[0]
#Last Business Day of the Month
lst_day = len[first_bd]-1
last_bd = first_bd[lst_day]

Tôi đã để lại một số mã trong đó không cần thiết cho ngày làm việc cuối cùng của tháng hiện tại, nhưng có thể hữu ích cho ai đó.

Đã trả lời ngày 4 tháng 1 năm 2017 lúc 15:48Jan 4, 2017 at 15:48

d84_n1nj4d84_n1nj4d84_n1nj4

1.6436 huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu đồng6 gold badges23 silver badges38 bronze badges

Với Rollforward [D], bạn sẽ bỏ qua vào tháng tới nếu ngày qua ngày làm việc cuối cùng của tháng hiện tại, vì vậy dưới đây có thể an toàn hơn cho bất kỳ ngày nào trong tháng:

from datetime import date
import pandas as pd

d = date[2011, 12, 31] # a caturday
pd.bdate_range[end=pd.offsets.MonthEnd[].rollforward[d], periods=1]
pd.offsets.BMonthEnd[].rollforward[d]

Đã trả lời ngày 2 tháng 7 năm 2020 lúc 10:34Jul 2, 2020 at 10:34

zephyr707zephyr707zephyr707

Huy hiệu đồng 1431 Bạc7 Huy hiệu Đồng1 silver badge7 bronze badges

Tôi cần một cái gì đó có thể đọc được trực quan và đã chọn những điều sau đây:

from datetime import datetime, timedelta
import pandas as pd

def isMonthLastBusinessDay[date]:
    lastDayOfMonth = date + pd.offsets.MonthEnd[0]
    isFriday = date.weekday[] == 4
    if [date.weekday[] < 5 and lastDayOfMonth == date] or [isFriday and lastDayOfMonth == date+timedelta[days=1]] or [isFriday and lastDayOfMonth == date+timedelta[days=2]]:
        return True
    else:
        return False

Đã trả lời ngày 12 tháng 5 năm 2021 lúc 12:13May 12, 2021 at 12:13

NHBOENHBOEnhboe

Huy hiệu 111 Đồng1 bronze badge

Làm thế nào để tôi có được ngày làm việc cuối cùng ở Python?

Đầu vào: test_date = DateTime [2020, 1, 31].
Đầu ra: 2020-01-30 00:00:00 ..
Giải thích: 31 tháng 1 năm 2020, là một ngày thứ sáu, ngày làm việc cuối cùng là thứ Năm, tức là 30 tháng 1 ..
Đầu vào: test_date = dateTime [2020, 2, 3].
Đầu ra: 2020-01-31 00:00:00 ..
Giải thích: 3 tháng 2 năm 2020, là một ngày thứ Hai, ngày làm việc cuối cùng là thứ Sáu, tức là ngày 31 tháng 1 ..

Làm thế nào để tôi có được ngày cuối cùng của tháng hiện tại ở Python?

Nhận ngày cuối cùng của tháng bằng cách sử dụng Python..
Nhập lịch nhập DateTime currentDate = DateTime. ngày. Hôm nay [] cuối cùng ngày dài = DateTime. ....
Nhập lịch nhập DateTime currentDate = DateTime. ngày. Hôm nay [] cuối cùng ngày dài = DateTime. ....
Nhập DateTime CurrentDate = DateTime. ngày. hôm nay [] cuối cùng

Làm thế nào để tôi có được ngày đầu tiên của tháng ở Python?

Để có được ngày đầu tiên của tháng bằng Python, cách dễ nhất là tạo một ngày mới với DateTime.Date [] và chuyển qua 1 1 là đối số thứ ba.create a new date with datetime. date[] and pass “1” as the third argument.

Làm cách nào để sử dụng chức năng trong tuần trong Python?

Sử dụng phương thức Day [] Phương thức Day [] trong tuần trả về ngày trong tuần dưới dạng số nguyên, trong đó Thứ Hai là 0 và Chủ nhật là 6. Ví dụ: ngày [2022, 05, 02] là thứ Hai.Vì vậy, số ngày trong tuần của nó là 0. The weekday[] method returns the day of the week as an integer, where Monday is 0 and Sunday is 6. For example, the date[2022, 05, 02] is a Monday. So its weekday number is 0.

Bài Viết Liên Quan

Chủ Đề