Foxtable(狐表)用户栏目专家坐堂 → 请教日期计算表达式


  共有7559人关注过本帖树形打印复制链接

主题:请教日期计算表达式

帅哥哟,离线,有人找我吗?
zhaoji
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:5 积分:143 威望:0 精华:0 注册:2012/5/21 11:09:00
请教日期计算表达式  发帖心情 Post By:2012/5/21 15:07:00 [只看该作者]

 请问如何计算两个日期间的年期,例如 2012/5/21和2013/5/20  算出年期为1.0,用什么表达式可以计算?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/21 15:20:00 [只看该作者]

用代码:

 

Dim dt1 As Date = #5/21/2012#
Dim dt2 As Date = #5/20/2013#
Dim yas As Integer = dt2.year - dt1.year


 回到顶部
帅哥哟,离线,有人找我吗?
zhaoji
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:5 积分:143 威望:0 精华:0 注册:2012/5/21 11:09:00
  发帖心情 Post By:2012/5/21 15:58:00 [只看该作者]

谢谢。
另外请问任意两个日期都可以吗,比如:合同起始日2010/5/1,结束日 2012/8/31, 算出合同期为2.4年。

 回到顶部
帅哥哟,离线,有人找我吗?
zhaoji
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:5 积分:143 威望:0 精华:0 注册:2012/5/21 11:09:00
  发帖心情 Post By:2012/5/21 16:10:00 [只看该作者]

如何用表达式列计算出任意两个日期间的合同期呢:
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/21 18:04:00 [只看该作者]

可以:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目389.table


 回到顶部
帅哥哟,离线,有人找我吗?
zhaoji
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:5 积分:143 威望:0 精华:0 注册:2012/5/21 11:09:00
  发帖心情 Post By:2012/5/21 20:47:00 [只看该作者]

 谢谢狐爸

 回到顶部
帅哥哟,离线,有人找我吗?
seal51
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/9/14 17:27:00 [只看该作者]

如果把合同的有效月数更改为合同的有效天数,如何改呢


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/14 17:35:00 [只看该作者]

Dim dt1 As Date = #5/21/2012#
Dim dt2 As Date = #5/20/2013#
Dim t As TimeSpan=dt2-dt1
messagebox.show(t.TotalDays)  

年月日都显示的话参考这里 http://www.foxtable.com/help/topics/2648.htm

 回到顶部
帅哥哟,离线,有人找我吗?
seal51
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2013/9/14 17:43:00 [只看该作者]

知道了, 用示例三就可以了

 

上面的例子是根据开始日期和执行天数计算完成日期,如果反过来,要根据开始日期和完成日期计算执行天数,可以将DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case
"开始日期",
"完成日期"
       
Dim dr As DataRow = e.DataRow
       
If dr.IsNull("开始日期") OrElse dr.IsNull("完成日期") Then
            dr(
"执行天数") = Nothing
       
Else
           
Dim tp As TimeSpan = dr("完成日期") - dr("开始日期")
            dr(
"执行天数") = tp.TotalDays
        End
If
End
Select


 回到顶部
帅哥哟,离线,有人找我吗?
ZHX241806
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:393 积分:2498 威望:0 精华:0 注册:2013/4/17 6:41:00
  发帖心情 Post By:2013/9/15 6:47:00 [只看该作者]

很好,实用


 回到顶部