以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  时间相减的书写格式  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=188688)

--  作者:zhangchi96
--  发布时间:2023/10/11 15:42:00
--  时间相减的书写格式
由于对日期的格式了解少,请教一个日期的计算表达:

( 在 DataColChanded 事件 中)

  e.DataRow("年龄") = DateDiff( \'y\' , # \'08/31/\' & Vars("年度") # , e.DataRow("出生日期"))

其中:
   Vars("年度"):       全局变量
   e.DataRow("年龄") :  是整数列
   e.DataRow("出生日期") :是日期时间型
         \'y\'  :    希望返回一个两个日期的间隔的年月日的结果中的年份

请大师多多指教 !

--  作者:有点蓝
--  发布时间:2023/10/11 15:44:00
--  
http://www.foxtable.com/webhelp/topics/2648.htm


--  作者:zhangchi96
--  发布时间:2023/10/11 16:13:00
--  
谢谢蓝老师!!

我写成这样,计算成功了
               Dim y,m,d As Integer
               DateYMD(  e.DataRow("出生日期") ,# 08/31/2023 # ,y,m,d )
               e.DataRow("年龄") = y

但其中的  # 08/31/2023 #,我想用  # 08/31/ & Vars("年度") # 来表示,请问规范写法是哪样?

--  作者:有点蓝
--  发布时间:2023/10/11 16:14:00
--  
DateYMD(  e.DataRow("出生日期") ,new date(Vars("年度"),8,31) ,y,m,d )
[此贴子已经被作者于2023/10/11 17:03:01编辑过]

--  作者:zhangchi96
--  发布时间:2023/10/11 16:59:00
--  
我改为了  :  DateYMD( e.DataRow("出生日期") , cdate( Vars("年度") & "-8-31" ) , y , m , d )

结果是有效的。

谢谢蓝老师 !!!