share一下贝贝成长进度的php代码


主要功能是根据贝贝的出生日期来显示贝贝现在多大了,实时显示贝贝的成长。
用当前时间减去出生的日期,但是可以显示出来几岁,几个月,和几天。
天的算法有点问题,没有考虑到大小月和2月份。
[code lang=”php” linenum=”off”]
function getDays() {
putenv(“TZ=Asia/Chongqing”);
$by = 2006;
$bm = 7;
$bd = 7;
$rday=””;

$today = getdate();
$by = $today[year] – $by;
$bm = $today[mon] – $bm;
$bd = $today[mday] – $bd;
if ($bd < 0) { $bd = 30 + $bd; $bm--; } if ($bm < 0) { $bm = 12 + $bm; $by--; } #print $by."-".$bm."-".$bd; if ($by > 0) {
$rday = $by . “岁”;
}
if ($bm == 0&&$bd == 0){
$rday .=”生日”;
}else{
if ($bm == 0){
$rday.=”零”.$bd.”天”;
}elseif ($bd == 0){
$rday.=$bm.”个月整”;
}else{
$rday.=$bm.”个月”.$bd.”天”;
}
}
return $rday;
}

[/code]

用的时候直接
[code lang=”php” linenum=”off”][/code]就可以了
空下来再完善以下,再写一个js的版本。
有bug请拍砖,有好的写法请留言。
您可以免费用,但是请留个到本页的链接。谢谢


《 “share一下贝贝成长进度的php代码” 》 有 9 条评论

  1. Only days should be modified as (C code):

    if (bd < 0) {
    –bm;
    if (m == 1 || m == 2 || m == 4 || m == 6 || m == 8 || m == 9 || m == 11) {
    bd += 31; // 31 days in Jan, Mar, May, July, Aug, Oct
    } else if (m == 5 || m == 7 || m == 10 || m == 12) {
    bd += 30; // 30 days in Apr, June, Sept, Nov
    } else { // m == 3, Feb
    if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) {
    bd += 29; // leap year
    } else {
    bd += 28;
    }
    }
    }

  2. 把每个人的生日存在数据库里。改上述函数,传进去生日,然后拆成
    $by = 2006;
    $bm = 7;
    $bd = 7;
    3个变量,返回结果。

  3. 那怎么设置多用户呢????就是针对多个人。。。

    然后可以储存在数据库的MYSQL

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注