日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

艺赛旗(RPA)获取 T-n 工作日 日期解决方案

發(fā)布時(shí)間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 艺赛旗(RPA)获取 T-n 工作日 日期解决方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

藝賽旗 RPA8.0全新首發(fā)免費(fèi)下載 點(diǎn)擊下載
http://www.i-search.com.cn/index.html?from=line1

在金融行業(yè)中,經(jīng)常會(huì)有關(guān)于工作日的需求,前一工作日啊,前兩工作日啊,當(dāng)月的第幾個(gè)工作日啊之類(lèi)的 ,這些日期怎么獲取呢,下面我分享一個(gè)解決方案
本地配置一張節(jié)假日的表格, 類(lèi)似這種,把所有的雙休日和節(jié)日配置進(jìn)去。通過(guò)讀取表格將節(jié)假日的日期全部讀進(jìn)緩存,方便我們實(shí)現(xiàn)需求。

我們把 excel 存放在工程 code 目錄下(也可以自定義存放路徑)

coding=utf-8

import pandas as pd , sys
import ubpa.iexcel as iexcel
import ubpa.itools.rpa_time as rpa_time
#讀取整列 若excel不是存放在工程code目錄下 此處路徑自定義
holiday_list = iexcel.read_col(path=sys.path[0] + ‘\’ + ‘holiday.xlsx’,cell=‘B2’)

#傳入日期是否為工作日 入?yún)⑷掌跇邮?2018-11-23
def is_innerdate_workdate(inner_date):
flag = False
tmp_date=inner_date.replace(’-’,’.’)
if tmp_date not in holiday_list:
flag = True
print(flag)
return flag
#獲取傳入日期的前一工作日 入?yún)⑷掌跇邮?2018-11-23
def previous_one_workdate(inner_date):
tmp_date=inner_date.replace(’-’,’.’)
while True:
tmp_date = rpa_time.dete_dalta(days=-1,date=tmp_date,format=’%Y.%m.%d’,return_format=’%Y.%m.%d’)
if tmp_date in holiday_list:
pass
else:
break
previous_one=tmp_date.replace(’.’,’-’)
print(’%s 前一工作日: %s’%(inner_date,previous_one))
return previous_one
#獲取傳入日期的前兩工作日 入?yún)⑷掌跇邮?2018-11-23
def previous_two_workdate(inner_date):
previous_one = previous_one_workdate(inner_date)
previous_two = previous_one_workdate(previous_one)
print(’%s 前兩工作日: %s’%(inner_date,previous_two))
return previous_two

#獲取當(dāng)月的第n個(gè)工作日 入?yún)⒁?guī)則 n>0
def get_currentmonth_Nworkdate(n):
tmp_month = rpa_time.get_current_datetime_str(format=’%Y.%m’)
#讀取整列 若excel不是存放在工程code目錄下 此處路徑自定義
df = pd.read_excel(sys.path[0] + ‘\’ + ‘holiday.xlsx’,header=None)
df = df[df[1].str.startswith(tmp_month)]
tmp_list = df[1].tolist()
tmp_date = tmp_month+ ‘.01’
i = 0
if tmp_date not in tmp_list:
i += 1
if i != n:
while True:
tmp_date = rpa_time.dete_dalta(days=1,date=tmp_date,format=’%Y.%m.%d’,return_format=’%Y.%m.%d’)
if tmp_date not in tmp_list:
i += 1
if i == n:
break

result_date = tmp_date.replace('.','-') print('%s的 第%d個(gè)工作日: %s'%(tmp_month,n,result_date)) return result_date

效果圖:


上傳我的工程 demo 包:workdate_demo.zip

總結(jié)

以上是生活随笔為你收集整理的艺赛旗(RPA)获取 T-n 工作日 日期解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。