查看完整版本: 请求帮忙!

wilsonlee1987 15-10-2007 01:04 AM

请求帮忙!

我现在要计算一个病人的年龄!
0b [Dn%F7`"hL 而且我是要知道她是几岁,几个月,几天!w,[ cYrW\
同时我还要考虑到闰年的计算!
b2U*P ~zX
#bH:};^Io 比如说:Gr"J&_M2y^i
出生日期是:2007年5月18号
Me7Q.p"KL 今天的日期是:2007年10月14日
g9Gbx9C 结果是:0年4月27天
7E{S7o A!~V
&XX nG [-t9g&A 目前为止,我只计算到年龄罢了!!
Rn3w|/BF 我的code是:
IScY4FM;{I4?         function dateDiff($dformat, $endDate, $beginDate)/E Cw-L~)V$`Y @6Z
        {
(Ei8|-zi ^j/U*C                 $date_parts1=explode($dformat, $beginDate); TP%um P
                $date_parts2=explode($dformat, $endDate);
#Z4M,Mu3Lo"K$}                 $start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]);4h _'g w0f HH E*d+kj.R
                $end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]);
e a}9x)H~OA                 return $end_date - $start_date;1w*_"xKRs(T*Z
        }
/B'K@gT.y LY m
j^f(AK%K}1r
VB~ Mz3m%g         $dob="08-08-2005";0M{6dfl,N\/Fj+xk/U
        echo round (DateDiff("-", date("m-d-Y", time()), $dob)/365, 0) . " years.";
Wy8O0O u-J kG .Y7X V `$Qi,Y0E
[[i] 本帖最后由 wilsonlee1987 于 2007-10-15 01:11 AM 编辑 [/i]]

wilsonlee1987 15-10-2007 01:54 AM

如果用这个会不会准确呢? ]F{S1@%bsZ
$bday="11";Vq:NkAv
$bmonth="02";
uF j-l-V;l5uP $byear="2005";!M1OV fUzj
   
-W B#Ng0]LE/o~ $years = date("Y") - intval($byear);
dGG8R-x(fp|l         $months = date("m") - intval($bmonth);$w1Gc)xr1y
        $days= date("d") - intval($bday);.H6e(M1xBnJS
D,s8s.yF6p!o%A
    //If birthday is after today, he/she has one year old less
?#s0fwAW7d0z     $day   = str_pad(intval($bday),   2, "0", STR_PAD_LEFT);
y.rYk*T     $month = str_pad(intval($bmonth), 2, "0", STR_PAD_LEFT);
W,g"m,J5EZ^     if(intval("$month$day") > intval(date("md")))
K/fd$M9C       $years -= 1;-MSw!^8V

#n5y\+GMo!rZ M}%x!A \ep
g rBp"w{F
        echo $years."-".$months."-".$days;

Sour_Kim 15-10-2007 04:58 PM

不用怀疑。。O-O6FDc2gB'J

jJ#UvQ#H?q 我看不懂。。:ONI18:

极帝猫 18-10-2007 07:17 PM

日期的运算都交给 MySQL 做,不需要用 Php。
`iI }!U*z0p,AH b2Fo2D
sFqB]?'[ 几岁:SELECT (YEAR(CURDATE())-YEAR('2007-05-18'))7?s @]H zt]
几天:SELECT DATEDIFF(CURDATE(),'2007-05-18')
~/vu4pd'kw'd
%P&^ `z ZJ;zY L 你可以参考 MySQL 的 Date and Time Functions。
nK6^4m@dJ ?.m [url]http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html[/url]

wilsonlee1987 18-10-2007 08:53 PM

回复 4楼 神仙猫 的帖子

这个我懂!0J IsW1^zMz+f
我的意思是RV1Q {*y t
出现几岁几个月几天!! @J)\4\q B#`#m
不是只单单出现几岁或几天!!

极帝猫 19-10-2007 10:17 AM

回复 5楼 wilsonlee1987 的帖子

稍微动一下你的脑筋吧。。方法已经给你了。
}8iX+W9~V 把各别的 SQL Query 分开来找,在用 Php 组合在一起,
7h0pY0C%q@zBx*s+E 就可以做出你需要的了。
页: [1]
查看完整版本: 请求帮忙!