首页 > 代码库 > 计算一个人的年龄(年月日时分秒),有不对的地方希望大家指出!
计算一个人的年龄(年月日时分秒),有不对的地方希望大家指出!
想想我们可以做一个计时器,记录一下我们走过了多少时光。看了一下网上别人的一些代码,记录年月的都并不科学,甚至很麻烦,自己倒腾了一上午,总算弄出来了一个。
自己觉得还比较科学,暂时没有发现BUG,如果哪里有错,希望大家指出来!
上代码:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function live_time(){
var live_year,live_month,live_day,live_hour,live_minute,live_sec;
var birth = new Date();
birth.setFullYear(1990,6,19);
birth.setHours(0);
birth.setMinutes(0);
birth.setSeconds(0);
//获取当前时间
var now = new Date();//alert(now);
var t = new Date(now);
//计算时间
if(t.setFullYear(birth.getFullYear())>=birth){//满一年正向算,比如生日是1992-7-20,而当前时间是1992-8-20
live_year = now.getFullYear() - birth.getFullYear();
live_month = now.getMonth() - birth.getMonth() ;
live_day = now.getDate() - birth.getDate();
live_hour = now.getHours() - birth.getHours();
live_minute = now.getMinutes() - birth.getMinutes();
live_sec = now.getSeconds() - birth.getSeconds();
}else{//未满一年(月日)反向算,比如生日是1992-7-20,而当前时间是1992-6-20
live_year = now.getFullYear() - birth.getFullYear()-1;
live_month = 12 - birth.getMonth() + now.getMonth();
//生日月份的天数,用下个月1日毫秒减去当月1日毫秒算天数,如果是11也就是12月,用第二年1月1日减
var month_day;
if(birth.getMonth()<11) month_day = parseInt((new Date().setFullYear(birth.getFullYear(),birth.getMonth()+1,01)-new Date().setFullYear(birth.getFullYear(),birth.getMonth(),01))/86400000);
else month_day = parseInt((new Date().setFullYear(birth.getFullYear()+1,0,01)-new Date().setFullYear(birth.getFullYear(),birth.getMonth(),01))/86400000);
live_day = month_day - birth.getDate() + now.getDate();
live_hour = now.getHours() - birth.getHours();
live_minute = now.getMinutes() - birth.getMinutes();
live_sec = now.getSeconds() - birth.getSeconds();
}
var s = live_year+"岁,"+live_month+"个月,"+live_day+"天,"+live_hour+"小时,"+live_minute+"分,"+live_sec+"秒.";
document.getElementById("timer").innerHTML = s;
}
window.onload = setInterval(live_time,1000);
</script>
</head>
<body>
<div id="timer"></div>
</body>
</html>
大家别看了 问题多的很。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。