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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

测试工程师之【python】按工龄开始日期和司龄开始日期计算当年法定年假

發布時間:2023/12/14 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试工程师之【python】按工龄开始日期和司龄开始日期计算当年法定年假 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.腳本需求:
公司內部休假系統,計算規則比較復雜比較惡心,前期準備工作看看文檔什么的,想著自己寫一個一摸一樣類似的規則方便到時候給出工齡和司齡日期自動計算結果,省的到時候用計算器手工算了,另一方面是熟悉業務方便后期功能測試寫用例場景能想的全覆蓋的多一點
2.代碼實現及思路
對年假計算規則百度查的再加上需求文檔上有一部分示例場景了解的,概括來說就是未滿10年-已滿10年-滿10年未滿20年獲得對應的年假天數,在根據司齡什么時候入職的是否當年1月1之前還是之后再去找對應的計算規則,猜測應該有bug,因為判斷條10年20年跨檔寫死了,

import datetimedef legal_annual_leave(working_years_Starttime,Secretary_Ling_Starttime):Small_10,Small_20 = 0,0working_years_Starttime = datetime.date(int(working_years_Starttime.split('-')[0]),int(working_years_Starttime.split('-')[1]),int(working_years_Starttime.split('-')[2]))Secretary_Ling_Starttime = datetime.date(int(Secretary_Ling_Starttime.split('-')[0]),int(Secretary_Ling_Starttime.split('-')[1]),int(Secretary_Ling_Starttime.split('-')[2]))if datetime.date(datetime.date.today().year,1,1).__sub__(Secretary_Ling_Starttime).days > 0:That_year_1month1 = datetime.date(datetime.date.today().year,1,1)differ_day = That_year_1month1.__sub__(working_years_Starttime).dayswhile 1:if str(That_year_1month1) == str(That_year_1month1.year) + '-12-31':breakThat_year_1month1 += datetime.timedelta(days=1)differ_day += 1if differ_day == 3650:Small_10 = That_year_1month1elif differ_day == 7300:Small_20 = That_year_1month1if Small_10:return ((Small_10.__sub__(datetime.date(datetime.date.today().year,1,1)).days / 365) * 5) + ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Small_10).days / 365) * 10)elif Small_20:return ((Small_20.__sub__(datetime.date(datetime.date.today().year,1,1)).days / 365) * 10) + ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Small_20).days / 365) * 15)elif differ_day < 3650:return ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(datetime.date(datetime.date.today().year,1,1)).days / 365) * 5)elif 3650 < differ_day < 7300:return ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(datetime.date(datetime.date.today().year,1,1)).days / 365) * 10)else:Secretary_Ling_Starttime_1 = Secretary_Ling_Starttimediffer_day = Secretary_Ling_Starttime.__sub__(working_years_Starttime).days + 1while 1:if str(Secretary_Ling_Starttime) == str(Secretary_Ling_Starttime.year) + '-12-31':breakSecretary_Ling_Starttime += datetime.timedelta(days=1)differ_day += 1if differ_day == 3650:Small_10 = Secretary_Ling_Starttimeelif differ_day == 7300:Small_20 = Secretary_Ling_Starttimeif Small_10:return ((Small_10.__sub__(Secretary_Ling_Starttime_1).days / 365) * 5) + ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Small_10).days / 365) * 10)elif Small_20:return ((Small_20.__sub__(Secretary_Ling_Starttime_1).days / 365) * 10) + ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Small_20).days / 365) * 15)elif differ_day < 3650:return ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Secretary_Ling_Starttime_1).days / 365) * 5)elif 3650 < differ_day < 7300:return ((datetime.date(datetime.date.today().year + 1,1,1).__sub__(Secretary_Ling_Starttime_1).days / 365) * 10)if __name__ == "__main__":print(legal_annual_leave('2011-01-01','2020-1-5'))

總結

以上是生活随笔為你收集整理的测试工程师之【python】按工龄开始日期和司龄开始日期计算当年法定年假的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。