年月日的计算方式 适用于日期的精确计算和方法 财务通用方式

本文提供了一个函数,用于根据两个日期计算它们之间的月份数和天数,支持按月、按日(360天)和按日(365天)三种计算方式。

在这里粘贴你想推广的页面地址

 

/************************************************************
Create_date:19/04/2012
函数说明:
此函数传入三个参数,分别为开始日期、结束日期、以及计算类型 根据两个日期与计算
类型,计算出之间的月份数和天数
参数说明:
as_start_dt 开始日期
as_end_dt 结束日期
as_type 计算类型 1、按月计算 2、按日计算(360天)3、按日计算(365天)
as_return_month 返回值:月份
as_return_day 返回值:天数
************************************************************/
date ld_day_number //日期中的号数
date ld_month_number //日期中月份数

integer li_start_day,li_end_day,li_start_month,li_end_month,li_temp,li_start_year,li_end_year
li_start_day = day(as_start_dt)
li_end_day = day(as_end_dt)
li_start_month = month(as_start_dt)
li_end_month = month(as_end_dt)
li_start_year = year(as_start_dt)
li_end_year = year(as_end_dt)
//计算相差月份
as_return_month = (Year(date(as_end_dt)) - Year(date(as_start_dt))) * 12 + (li_end_month - li_start_month)
//计算相差天数
as_return_day = daysafter(as_start_dt,as_end_dt)
if as_type = 1 then //这是按月计算的计算方式
//判断是否2月份如果是2月份单独处理
if li_end_month = 2 then //是2月份单独处理
//判断是否润年
if li_end_year / 4 = 0 and li_end_year / 2 = 0 then //是润年
//判断开始日期号数是否大于结束日期号数
if li_end_day > li_start_day or li_start_day = 29 then //大于
as_return_month = as_return_month
else //小于
as_return_month = as_return_month - 1
end if
else //非润年
if li_end_day > li_start_day or li_start_day = 28 then
as_return_month = as_return_month
else
as_return_month = as_return_month - 1
end if
end if

else //正常月份
if li_end_day > li_start_day or li_start_day = 30 then
as_return_month = as_return_month
else
as_return_month = as_return_month - 1
end if
end if


elseif as_type = 2 then //这是按日计算(360天)的计算方式
as_return_month = as_return_month
as_return_day = (as_return_month * 30) + (li_end_day - li_start_day)
elseif as_type = 3 then //这是按日计算(365天)的计算方式
as_return_day = as_return_day
else
messagebox("提示信息","类型错误")
end if

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值