1. 帮助中心 >
  2. 博客 >
  3. 函数用法
返回

【函数】日期控件如何自动加10天?

2015-12-25 标签:函数,DATE,时间戳 

如何自动计算出一个日期加上一个指定的天数,如生产日期+保质期,自动计算出到期时间。



1.DATEDELTA(date, deltadays)


DATEDELTA函数可将指定日期加/减指定天数,即生产日期+保质期=到期时间。



2.DATE(year,month,day)


在日期控件中写函数,DATE(年,月,日),可以返回对应的日期。因此我们可以先提取出生产日期中的年月日,则到期时间中的年月不变,到期时间中的日==生产日期中的日+保质期。

提取年月日的函数为:YEAR(DATE(生产日期)),MONTH(DATE(生产日期)),DAY(DATE(生产日期))




计算到期时间的函数为:DATE(生产日期中的年,生产日期中的月,生产日期中的日+保质期)。上一步已经给出了提取生产日期中年月日的方式,直接代入该公式即可。

整体公式为:DATE(YEAR(DATE(生产日期)),MONTH(DATE(生产日期)),DAY(DATE(生产日期))+保质期)




3.时间戳计算


时间戳是一种比较简单粗暴的计算方法。日期控件中的数据类型是时间戳,是以毫秒为单位的整数数值,那么我门就直接取生产日期的时间戳,加上保质期的毫秒数,再直接返回到期时间控件中就可以了。

保质期的单位是天,所以要先转化成毫秒再计算


4.方法对比


DATEDELTA(date, deltadays)的计算是以天为单位的,如果需要加减的数量是按天来算的,那用DATEDELTA函数最为方便。

DATE(year,month,day)的是以年、月、天为单位的。如果同时还要计算到年或者月的话,用DATE(year,month,day)更方便。例如护照到期时间是十年,那么到期时间的公式为DATE(YEAR(DATE(护照生效日期))+10,MONTH(DATE(护照生效日期)),DAY(DATE(护照生效日期))-1)。

由此也可以引申出DATE(year,month,day,hour,minute,second),用于带有时分秒的计算。

时间戳的计算是以毫秒为单位的,适用于所有时间的计算,因为需要加减任何的时间段,都可以转换成毫秒来计算。当需要加减的时间段的最小单位含有时分秒的时候,用时间戳计算更方便。

相关推荐