Foxtable(狐表)用户栏目专家坐堂 → 求助:周岁的计算公式


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

主题:求助:周岁的计算公式

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/3/19 21:03:00 [只看该作者]

易表中的这个函数很好用的,但是在狐表里没有,很遗憾的
[此贴子已经被作者于2010-3-19 21:03:00编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/19 21:30:00 [只看该作者]

看九楼

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


加好友 发短信
等级:二尾狐 帖子:542 积分:4243 威望:0 精华:4 注册:2008/9/1 8:27:00
  发帖心情 Post By:2010/3/19 21:47:00 [只看该作者]

我提供一个直接用表达式计算的(真正的周岁,完全是年对年,月对月,日对日)(日期格式是yyyy-mm-dd): Convert(SubString(Convert([入职日期],'System.String'),1,4),System.Int16)-Convert(SubString(Convert([出生日期],'System.String'),1,4),System.Int16)+ IIf(Convert(SubString(Convert([入职日期],'System.String'),6,2),System.Int16)*100+ Convert(SubString(Convert([入职日期],'System.String'),9,2),System.Int16)- (Convert(SubString(Convert([出生日期],'System.String'),6,2),System.Int16)*100+ Convert(SubString(Convert([出生日期],'System.String'),9,2),System.Int16)) < 0,-1,0)

 回到顶部
美女呀,离线,留言给我吧!
yangming
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/19 22:28:00 [只看该作者]

以下是引用擎天柱在2010-3-19 21:47:00的发言:
我提供一个直接用表达式计算的(真正的周岁,完全是年对年,月对月,日对日)(日期格式是yyyy-mm-dd): Convert(SubString(Convert([入职日期],'System.String'),1,4),System.Int16)-Convert(SubString(Convert([出生日期],'System.String'),1,4),System.Int16)+ IIf(Convert(SubString(Convert([入职日期],'System.String'),6,2),System.Int16)*100+ Convert(SubString(Convert([入职日期],'System.String'),9,2),System.Int16)- (Convert(SubString(Convert([出生日期],'System.String'),6,2),System.Int16)*100+ Convert(SubString(Convert([出生日期],'System.String'),9,2),System.Int16)) < 0,-1,0)

如果要日对日,那就将九楼的代码中的M改成d就可以了,当然后面的12也得改成365,呵呵

[此贴子已经被作者于2010-3-19 22:30:05编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/3/20 2:07:00 [只看该作者]

DateDIFF好象不精确的。
试试这个。

Dim d1 as Date = #3/17/2002#
Dim d2 as Date = #1/1/2008#
Dim t As TimeSpan = d2 - d1
Output.Show(t.TotalSeconds/31556926 & " 岁")


这是按一年365天5小时48分46秒算的。
[此贴子已经被作者于2010-3-20 2:07:39编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2010/3/20 10:01:00 [只看该作者]

用看是不是过了生日算的。算的有点麻烦图片点击可在新窗口打开查看
Dim d1 as Date = #3/17/2002#
Dim d2 as Date = #1/1/2008#
Dim Age As Integer = d2.Year - d1.Year    '虚岁
Dim BirthDay As Date    '生日
Try
    BirthDay = New Date(d2.Year,d1.Month,d1.Day)
Catch
    BirthDay = New Date(d2.Year,2,28)
End Try
If BirthDay < d2 Then      '当年是否过生日
    Age = Age - 1
End If
Output.Show(Age)



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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/3/21 13:54:00 [只看该作者]

谢谢大家指点了

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


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/3/21 14:03:00 [只看该作者]

狐表中的函数很多,都在什么地方,除了聚合函数,其他函数从哪儿可以找到?
[此贴子已经被作者于2010-3-21 14:03:49编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/3/21 14:15:00 [只看该作者]

以下是引用cxabc123在2010-3-21 14:03:00的发言:
狐表中的函数很多,都在什么地方,除了聚合函数,其他函数从哪儿可以找到?
[此贴子已经被作者于2010-3-21 14:03:49编辑过]

好好看看帮助文件开发篇,还有VBScript参考


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


加好友 发短信
等级:婴狐 帖子:4 积分:115 威望:0 精华:0 注册:2014/2/18 14:16:00
  发帖心情 Post By:2014/2/18 14:39:00 [只看该作者]

谢谢13楼

 回到顶部
总数 20 上一页 1 2