以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于日期时间的计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16083) |
||||
-- 作者:蒋仁义 -- 发布时间:2012/2/2 1:30:00 -- [求助]关于日期时间的计算 我要计算工龄,如:2012年1月1日,入职时间是2000年3月1日,工龄是11年,这个表达式如何写。我的表其中有两个列,一列是入职时间,一列是当月时间,工龄要求精确到月,最好精确到日,然后取整数。 [此贴子已经被作者于2012-2-2 12:15:22编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/2/2 12:35:00 --
|
||||
-- 作者:idoican -- 发布时间:2012/2/2 13:36:00 -- 顺便学习一下,看明白了。 |
||||
-- 作者:蒋仁义 -- 发布时间:2012/2/2 16:40:00 -- 回复:(狐狸爸爸)[upload=table,管理项目267.table]... 谢谢你很快有了回复 我刚接触此表,是个菜鸟,我以为用表达式就行了,你发过来的我看不懂,不知你从那里编写的程进去,只在代码输出那看到。 我要求不是用系统时间减去入职时间,而是用指定的一个时间减入职时间得出的工龄。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/2/2 16:42:00 -- 一样简单的,如果初次结束,还不知道在什么地方写代码,建议你先不管要管这样的问题,先看帮助,首先看《使用指南》,看两三遍之后,再看《开发指南》,到时你会知道,这样的问题其实很简单。 |
||||
-- 作者:蒋仁义 -- 发布时间:2012/2/11 1:16:00 -- [原创]我这样也的也通过了 Select Case e.DataCol.name Case "入职日期" If e.DataRow.IsNull("入职日期") Then e.DataRow("工龄") = Nothing Else Dim dt As Date = e.DataRow("入职日期") Dim ct As Date = e.DataRow("日期") Dim y As Integer = e.DataRow("日期").Year - dt.Year If(ct.Month>dt.Month) e.DataRow("工龄") = y Return End If If(ct.Month < dt.Month) y=y-1 Else If(ct.Day < dt.Day) y=y-1 End If e.DataRow("工龄") = y End If End Select |
||||
-- 作者:蒋仁义 -- 发布时间:2012/2/11 1:19:00 -- 认真的看了三天才看懂 |