注册 登录
编程论坛 ASP技术论坛

再求根据生日 生成年龄问题有点复杂

lyuyyw 发布于 2007-08-30 18:13, 945 次点击
前帖发过了就生日生成年龄问题,但那个是根据年份生成的,就是说不是太准确,比如我是85年3月15日生日,但是现在日期是2007年1月1日,还不到生日,但是系统自动就认为是已经22岁了,因为现在客户这个要求的特别严,所以没有办法,求高手指点招啊 ,或者有代码也好啊,
5 回复
#2
purana2007-08-30 18:23
截取两个日期的year和month和day..
然后将这两个year,month,day相加减操作.进行判断.
#3
天涯听雨2007-08-30 23:33
截取两个日期的year和month和day..

然后将这两个year,month,day相加减操作.进行判断.

对就这样操作
#4
lyuyyw2007-08-31 12:14
谢谢好心人的回答,不胜感激,但是现在我想从数据库读出符合条件的记录,比如说是20到30年龄段之间人,sql语句改怎么写啊:我写的生成年龄代码如下:
<%
dim nianling
nianling=year(now())-year(rs("member_birth"))
mouth1=datepart("m",rs("member_birth"))
mouth2=datepart("m",now)
day1=datepart("d",rs("member_birth"))
day2=datepart("d",now)
if mouth2>mouth1 then
nianling=nianling
elseif mouth2<mouth1 then
nianling=nianling-1
elseif mouth2=mouth1 then
if day2>=day1 then
nianling=nianling
elseif day2<day1 then
nianling=nianling-1
end if
end if

%>
#5
multiple19022007-08-31 12:57
如果你的表里有nianling这个数值字段就

select * from gfs where nianling between 20 and 30
#6
lyuyyw2007-08-31 15:04
关键是我数据库里面只存的是生日日期啊,其实也只能存日期,因为年龄要一年年增长,所以不能存年龄,但是又不能简单的只比较年份,还要考虑过不过生日那天,所以比较麻烦了!
我是想反过来想:假设搜索条件是20到30岁之间的人,我就先用diffadd函数根据目前的日期now得到一个20年或者30年之前的今天是什么日子(1975-3-14),然后对比生日日期sql条件就好写好多了,但是比较两个日期该怎么比较哪??求又兴趣之士留步看看啊
1