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. fredfsh说:

    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. 贝贝爸说:

    你搜一下,有篇文章写过的

  3. bolo说:

    请问你是怎么让Blog Mechanics Keyword Link这个插件支持中文的?

  4. Pingback引用通告: 清风掠影部落阁 » 时间进度代码

  5. 劣头翔说:

    这样还不如mktime相减出秒数来,/24/60/60取整就是天数

  6. alanjiang说:

    俺女儿也叫贝贝~~快二周了

  7. 7妈说:

    哈哈,真好,可以直接拿过来用,不用改的:)

  8. 贝贝爸说:

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

  9. 大树说:

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

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

发表回复

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