跳到主要内容

日期自动加十天

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

表单设计组件


1. DATEDELTA(date, deltadays)

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

DATEDELTA公式计算

实现效果

2. DATE(year,month,day)

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

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

DATE公式计算


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

下述代码可直接复制到公式编辑器内,注意替换生产日期和保质期字段

{"text":"TIMESTAMP(DATE(YEAR(DATE(​生产日期​)),MONTH(DATE(​生产日期​)),DAY(DATE(​生产日期​))+​保质期​))","marks":[{"from":{"line":0,"ch":25,"sticky":null},"to":{"line":0,"ch":31,"sticky":null},"value":"dateField_ksj6bl0e","invalid":false},{"from":{"line":0,"ch":45,"sticky":null},"to":{"line":0,"ch":51,"sticky":null},"value":"dateField_ksj6bl0e","invalid":false},{"from":{"line":0,"ch":63,"sticky":null},"to":{"line":0,"ch":69,"sticky":null},"value":"dateField_ksj6bl0e","invalid":false},{"from":{"line":0,"ch":72,"sticky":null},"to":{"line":0,"ch":77,"sticky":null},"value":"numberField_ksj6bl0h","invalid":false}],"isCmData":true}

实现效果

3. 时间戳计算

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

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

下述代码可直接复制到公式编辑器内,注意替换生产日期和保质期字段

{"text":"IF(ISEMPTY(​生产日期​),\"\",​生产日期​+​保质期​*24*3600*1000)","marks":[{"from":{"line":0,"ch":11,"sticky":null},"to":{"line":0,"ch":17,"sticky":null},"value":"dateField_kssa5620","invalid":false},{"from":{"line":0,"ch":22,"sticky":null},"to":{"line":0,"ch":28,"sticky":null},"value":"dateField_kssa5620","invalid":false},{"from":{"line":0,"ch":29,"sticky":null},"to":{"line":0,"ch":34,"sticky":null},"value":"numberField_ksj6bl0h","invalid":false}],"isCmData":true}

时间戳计算

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),用于带有时分秒的计算。

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

宜搭为了更好的优化宜搭使用手册内容和质量,占用您3-5分钟时间,辛苦填写一下文档反馈问卷。文档反馈问卷是匿名提交,同时问卷信息仅用于宜搭文档体验反馈收集,感谢您对宜搭的支持!

点此填写调研问卷


--------------------获取宜搭最新信息,欢迎关注我们--------------------

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4