有了孩子之后,对小宝宝的事情会不刻意的增加很多关注,这可能就是做父亲的责任吧。
崽崽的周岁开始倒计时了,但是日子长了,算起来就比较费劲,也容易算错。本想依靠百度,没想到花了一晚竟找不到一款,能够计算宝宝年龄比较准确的软件!失望之余,我决定在工作之余写一个这样的计算小功能。于是就有了以下内容:
新鲜出炉!代码还有很多地方需要优化,甚至还有bug,但是仍然迫不及待的贴出来,跟网友们分享。
第一个计算方式,计算出宝宝从出生到现在的天数、时、分、秒:
//获取出生天数、时、分、秒 function getGrowTime(birthday) { var currentTime = Date.parse(new Date()); var myTime = new Date(birthday); var myTimeStamp = Date.parse(myTime); var gapSec = (currentTime - myTimeStamp)/1000; var day = 0; var hour = 0; var min = 0; var sec = 0; if(gapSec/(60*60*24) > 0) { day = (gapSec-gapSec%(60*60*24))/(60*60*24); gapSec = gapSec%(60*60*24); if((gapSec/3600) > 0) { hour = (gapSec-gapSec%3600)/3600; gapSec = gapSec%3600; if((gapSec/60) > 0) { min = (gapSec-gapSec%60)/60; sec = gapSec%60; } else { sec = gapSec; } } else { if((gapSec/60) > 0) { min = (gapSec-gapSec%60)/60; sec = gapSec%60; } else { sec = gapSec; } } } else { if((gapSec/3600) > 0) { hour = (gapSec-gapSec%3600)/3600; gapSec = gapSec%3600; if((gapSec/60) > 0) { min = (gapSec-gapSec%60)/60; sec = gapSec%60; } else { sec = gapSec; } } else { if((gapSec/60) > 0) { min = (gapSec-gapSec%60)/60; sec = gapSec%60; } else { sec = gapSec; } } } var dateStr = (day<10? ("0"+day): day)+"天 " + (hour<10? ("0"+hour): hour)+"时 " + (min<10? ("0"+min): min)+"分 " + (sec<10? ("0"+sec): sec)+"秒"; return dateStr; }
第二个计算方式,计算宝宝从出生到现在的周岁、月、天、时、分、秒,这个很常用:
//获取出生年龄,周岁、月、天、时、分、秒 function getGrowAge(birthday) { var now = new Date(); var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds(); var myDate = new Date(birthday); var myYear = myDate.getFullYear(); var myMonth = myDate.getMonth() + 1; var myDay = myDate.getDate(); var myHour = myDate.getHours(); var myMinute = myDate.getMinutes(); var mySecond = myDate.getSeconds(); var gapSecond = second - mySecond; if(gapSecond < 0) { minute -= 1; gapSecond = 60 - mySecond + second; } var gapMinute = minute - myMinute; if(gapMinute < 0) { hour -= 1; gapMinute = 60 - myMinute + minute; } var gapHour = hour - myHour; if(gapHour < 0) { day -= 1; gapHour = 24 - myHour + hour; } var gapDay = day - myDay; if(gapDay < 0) { month -= 1; gapDay = getDaysOfMonth(birthday) - myDay + day; } var gapMonth = month - myMonth; if(gapMonth < 0) { year -= 1; gapMonth = 12 - myMonth + month; } var gapYear = year - myYear; if(gapYear < 0) { gapYear = 0; } var dateStr = gapYear+"岁 " + (gapMonth<10? ("0"+gapMonth): gapMonth)+"月 " + (gapDay<10? ("0"+gapDay): gapDay)+"天 " + (gapHour<10? ("0"+gapHour): gapHour)+"时 " + (gapMinute<10? ("0"+gapMinute): gapMinute)+"分 " + (gapSecond<10? ("0"+gapSecond): gapSecond)+"秒"; return dateStr; }
还有两个计算所须的方法:
//获取当月的天数 function getDaysOfMonth(dateStr) { var date = new Date(dateStr); var year = date.getFullYear(); var mouth = date.getMonth() + 1; var day = 0; if(mouth == 2) { day= isLeapYear(year) ? 29 : 28; } else if(mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth == 12) { day= 31; } else { day= 30; } return day; } //判断是否为闰年 function isLeapYear(year) { return (year%4==0 && year%100!=0)||(year%400==0); }文章到此结束,有不对的地方请及时指正!
例子测试地址:http://www.wankaixin.net,欢迎使用!
分享:
崇尚极简,热爱技术,喜欢唱歌,热衷旅行,爱好电子产品的一介码农。
联系QQ:58742094
联系电话:
工作邮箱:
当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!
人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。
Copyright 2015- 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号
免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。