ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-03-19 15:50:05  阅读:441  来源: 互联网

标签:tmp 解决方案 .% RPA inner 艺赛 date 工作日 previous


艺赛旗 RPA8.0全新首发免费下载 点击下载
http://www.i-search.com.cn/index.html?from=line1

在金融行业中,经常会有关于工作日的需求,前一工作日啊,前两工作日啊,当月的第几个工作日啊之类的 ,这些日期怎么获取呢,下面我分享一个解决方案
本地配置一张节假日的表格, 类似这种,把所有的双休日和节日配置进去。通过读取表格将节假日的日期全部读进缓存,方便我们实现需求。
在这里插入图片描述

我们把 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’)

#传入日期是否为工作日 入参日期样式 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
#获取传入日期的前一工作日 入参日期样式 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
#获取传入日期的前两工作日 入参日期样式 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

#获取当月的第n个工作日 入参规则 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个工作日:  %s'%(tmp_month,n,result_date))
return result_date

效果图:

在这里插入图片描述
上传我的工程 demo 包:workdate_demo.zip

标签:tmp,解决方案,.%,RPA,inner,艺赛,date,工作日,previous
来源: https://blog.csdn.net/weixin_44447687/article/details/88663419

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有