用友股份-LE服务支持部产品方案--《Dateadd()函数的使用实例》建立日期:2013-01-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-00452/6文档控制创建记录审阅人姓名所属部门职位审阅签字发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-01-01王宏V1.03/6目录Dateadd()函数的使用实例...................................................................................................44/6Dateadd()函数的使用实例有一位顾问提问:请教:在差旅费报销单里,填入了出差开始时间,出差天数,如何自动计算出差结束时间?出差开始时间和出差结束时间为日期型,出差天数为整型。我看到这个问题,第一想法是用比较函数来实现,但是,同事们提出一个更大的问题,例如2010-09-01和2011-01-01来比较时,要注意跨年,跨月的问题。看起来好像是挺大的工程量。于是又想,日期变量是基本变量,在这方面的加、减功能,已经提供的很完善了,不可能需要我们自己写那么多的公式,才完成一个日期增加的功能,我们nc产品肯定也有这方面的函数。于是,打开nc所提供的函数库,果然找到一个dateadd()函数,非常方便。虽然有了现成的函数,但是在测试过程中,还是走入了一个误区,现写出来,帮大家节省时间。我们先来看看dateadd函数说明:dateAdd(date1,num,fieldchar)返回在指定日期的年、月或者日上增加某个值num.5/6可增加的时间域fieldchar包括"Y"-增加年;"M"-增加月;"D"-增加日;"H"-增加小时;"m"-增加分钟;"S"-增加秒于是,我写了一个公式在defitem3上,defitem6->dateadd(defitem2,defitem3,d)意在让defitme3触发公式:defitem2加上一个defitem3的值得到defitem6的值,d表示加数是天,而不是年月或其他.写好后,欣喜地去试一试,结果,纹丝未动。公式没起效。是公式没触发,还是公式格式不对,还是nc产品函数有问题呢?于是,思考测试了半天,后来,又认真地读了一遍函数说明,才发现,原来,第三个参数要加一个双引号啊!!公式修改为defitem6->dateadd(defitem2,defitem3,"D")6/6成功。总结:要相信nc,当一个功能测试未成功,很可能是未认真阅读说明啊。