主要功能是根据贝贝的出生日期来显示贝贝现在多大了,实时显示贝贝的成长。
用当前时间减去出生的日期,但是可以显示出来几岁,几个月,和几天。
天的算法有点问题,没有考虑到大小月和2月份。
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; }
用的时候直接
<?php echo getDays();?>
就可以了
空下来再完善以下,再写一个js的版本。
有bug请拍砖,有好的写法请留言。
您可以免费用,但是请留个到本页的链接。谢谢
《 “share一下贝贝成长进度的php代码” 》 有 9 条评论
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;
}
}
}
你搜一下,有篇文章写过的
请问你是怎么让Blog Mechanics Keyword Link这个插件支持中文的?
[…] } } return $rday; } 转载自:http://www.juyimeng.com/share-growth-progress-php-script.html Written by 清风 in: 设计工作站 | 标签:code, html, wordpress | […]
这样还不如mktime相减出秒数来,/24/60/60取整就是天数
俺女儿也叫贝贝~~快二周了
哈哈,真好,可以直接拿过来用,不用改的:)
把每个人的生日存在数据库里。改上述函数,传进去生日,然后拆成
$by = 2006;
$bm = 7;
$bd = 7;
3个变量,返回结果。
那怎么设置多用户呢????就是针对多个人。。。
然后可以储存在数据库的MYSQL