Foxtable(狐表)用户栏目专家坐堂 → [求助]工龄如何计算到年月


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

主题:[求助]工龄如何计算到年月

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
[求助]工龄如何计算到年月  发帖心情 Post By:2012/7/24 17:41:00 [只看该作者]

现在根据参加工作时间只能将工龄计算到年,代码是

 

If e.DataCol.Name = "参加工作时间" Then
    If e.DataRow.IsNull("参加工作时间") Then '如果没有输入参加工作时间
        e.DataRow("工龄") = Nothing '则清空工龄
    Else
        '否则计算工龄
        e.DataRow("工龄") = Date.Today.Year - e.DataRow("参加工作时间").Year
    End If
End If


 

请问如何实际工龄为 *年*月

[此贴子已经被作者于2012-7-24 17:40:45编辑过]

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


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

什么是“计算到年月”?

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/24 18:06:00 [只看该作者]

比如参加工作时间是2012年1月18日,那他的工龄应该是0年6月,而不是1年。

 


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/7/24 18:10:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/7/24 18:17:00 [只看该作者]

以下是引用muhua在2012-7-24 18:10:00的发言:

e.DataRow("工龄") = Date.Today.Year - e.DataRow("参加工作时间").Year

 

改为: e.DataRow("工龄") = Date.Today.Year - e.DataRow("参加工作时间").Year & "年" & Date.Today.Month - e.DataRow("参加工作时间").Month & "月"


這樣肯定不行,我發過有個計算年月日的,搜索搜索.


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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/24 18:18:00 [只看该作者]

以下是引用muhua在2012-7-24 18:10:00的发言:

e.DataRow("工龄") = Date.Today.Year - e.DataRow("参加工作时间").Year

 

改为: e.DataRow("工龄") = Date.Today.Year - e.DataRow("参加工作时间").Year & "年" & Date.Today.Month - e.DataRow("参加工作时间").Month & "月"

太谢谢啦,好了,只要满7个月,自动加了一年,然后是负几个月了。一目了然了。

参加工作时间 1979/9/1  工龄 33年-2月


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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
回复:(don)以下是引用muhua在2012-7-24 18:10:00的...  发帖心情 Post By:2012/7/24 19:18:00 [只看该作者]

好的,我也试试


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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/24 19:42:00 [只看该作者]

这个我用于岗位聘期的计算了。

If e.DataCol.Name = "开始日期" OrElse e.DataCol.Name = "结束日期" Then
Dim dr As DataRow = e.DataRow
If dr.IsNull("开始日期") OrElse dr.IsNull("结束日期") OrElse dr("开始日期")> dr("结束日期") Then
dr("年") = Nothing
dr("月") = Nothing
dr("日") = Nothing
dr("年月日") = Nothing
Else
Dim d1,d2 As Date
Dim y,m,d As Integer
d1= dr("开始日期")
d2=dr("结束日期").Adddays(1)
y=DateDiff("yyyy",d1,d2)
m=DateDiff("m",d1,d2)
d=DateDiff("d",d1,d2)

y = y +val(d1.AddYears(y)>d2)
m = m+val(d1.AddMonths(m)>d2)-12*y
d= d-DateDiff("d",d1,d1.addmonths(y*12+m))
dr("年") = y
dr("月") = m
dr("日") = d
dr("年月日") = iif(y = 0, "",y & "年") & iif(m = 0,"",m & "个月") & iif(d = 0,"",d & "日")
End If
End If

[此贴子已经被作者于2012-7-24 19:42:39编辑过]

 回到顶部