以文本方式查看主题

-  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=6797)

--  作者:ddlzq
--  发布时间:2010/4/26 11:27:00
--  [求助]表达式计算天数的写法
各位老师:
数据表中有一列开始时间,想设一个表达式列计算到今天已过多少天?请问这个表达式怎么写,查看过帮助,没弄明白,只知道date.today,可在表达式中如何表达呢?^_^谢谢!
--  作者:狐狸爸爸
--  发布时间:2010/4/26 11:35:00
--  
可能没有这个功能,用代码吧
--  作者:ddlzq
--  发布时间:2010/4/26 11:48:00
--  
以下是引用狐狸爸爸在2010-4-26 11:35:00的发言:
可能没有这个功能,用代码吧

哦,这样啊,那谢谢了。


--  作者:ddlzq
--  发布时间:2010/4/26 13:08:00
--  

再问下老师,我想用两个日期相减,比如2010-4-26 减 2010-2-1,得到相差多少天还需要 用帮助中的表达式年月日计算方法吗?帮助中的表达式 年、月、日是分开的。


--  作者:程兴刚
--  发布时间:2010/4/26 13:20:00
--  
不是告诉您用代码吗?
--  作者:程兴刚
--  发布时间:2010/4/26 13:21:00
--  

例如:

Dim d1 as Date = #3/17/2002 12:30#
Dim
d2 as Date = #1/1/2008 18:30#
Dim t As TimeSpan = d2 - d1

Output.Show(t.TotalDays &
"")

在命令窗口执行上述代码,得到的输出结果是:2116.25天


--  作者:ddlzq
--  发布时间:2010/4/26 13:25:00
--  
谢谢,刚才搜索了一篇计算日期的贴子,使用TotalDays可算出天数,学会了,再次感谢。
[此贴子已经被作者于2010-4-26 13:25:55编辑过]

--  作者:实话实说
--  发布时间:2010/4/26 13:30:00
--  
表属性的DataColChanged代码

if e.DataCol.Name = "结束日期" Orelse e.DataCol.Name = ("开始日期") = Nothing Then
    If e.DataRow.IsNull("结束日期") Orelse e.DataRow.IsNull("开始日期") Then
        e.datarow("天数") = Nothing
    else
        e.datarow("天数") = (e.datarow("结束日期") - e.datarow("开始日期")).TotalDays
    end if
end if

--  作者:wuxianzuoji41
--  发布时间:2013/7/16 14:55:00
--  
以下是引用实话实说在2010-4-26 13:30:00的发言:
表属性的DataColChanged代码

if e.DataCol.Name = "结束日期" Orelse e.DataCol.Name = ("开始日期") = Nothing Then
    If e.DataRow.IsNull("结束日期") Orelse e.DataRow.IsNull("开始日期") Then
        e.datarow("天数") = Nothing
    else
        e.datarow("天数") = (e.datarow("结束日期") - e.datarow("开始日期")).TotalDays
    end if
end if

 

这个问题中如果计算结束日期-开始日期的天数字,如果需要计算当天-开始日期的天数字,该怎么修改?

谁指点一下

注:日期为长格式的日期

[此贴子已经被作者于2013-7-16 14:57:50编辑过]

--  作者:Bin
--  发布时间:2013/7/16 14:57:00
--  
 e.datarow("天数") = (e.datarow("结束日期") - e.datarow("开始日期")).TotalDays 改为
e.datarow("天数") = (date.toady - e.datarow("开始日期")).TotalDays