html 生日倒计时,计算从出生到现在时间的js代码精确到毫秒附带生日倒计时

这个代码实现的功能比较详细,计算从您出生到现在经历了多少时间,分别以星期、月、天、小时、秒、毫秒为单位来展示您在这个时间上活了多久了,并附加生日倒计时,准确显示距离下次生日还有几天几分几秒。

效果图:

6f03ff05c7346d2456dbcaf39caf12c2.png

代码如下:

计算从出生到现在经历了多少时间的js代码 精确到毫秒

function www_xker_com() {

document.form1.day.value = "";

document.form1.month.value = "";

document.form1.year.value = "";

document.form1.age.value = "";

document.form1.months.value = "";

document.form1.weeks.value = "";

document.form1.answer.value = "";

document.form1.hours.value = "";

document.form1.min.value = "";

document.form1.sec.value = "";

document.form1.bday.value = "";

document.form1.milli.value = "";

}

function run() {

var ap;

dd = document.form1.day.value;

mm = document.form1.month.value;

yy = document.form1.year.value;

with(document.form1) {

ap = parseInt(ampm.selectedIndex);

hr = parseInt(hrs.value);

if(hr <= 0 && hr >= 13) {

ap = null;

alert("asdf")

}

}

main="valid";

if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == "") || (dd == "") || (yy == ""))

main = "Invalid";

else

if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30))

main = "Invalid";

else

if (mm == 2) {

if (dd > 29)

main = "Invalid";

else if((dd > 28) && (!lyear(yy)))

main="Invalid";

}

else

if((yy > 9999)||(yy < 0))

main = "Invalid";

else

main = main;

if(main == "valid") {

function leapyear(a) {

if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0))

return true;

else

return false;

}

days = new Date();

gdate = days.getDate();

gmonth = days.getMonth();

gyear = days.getYear();

age = gyear - yy;

if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) {

age = age;

}

else {

if(mm <= (gmonth)) {

age = age;

}

else {

age = age - 1;

}

}

if(age == 0)

age = age;

document.form1.age.value="您的年龄是:" + age+ "岁 ";

if(mm <= (gmonth + 1))

age = age - 1;

if((mm == (gmonth + 1)) && (dd > parseInt(gdate)))

age = age + 1;

var m;

var n;

if (mm == 12) { n = 31 - dd; }

if (mm == 11) { n = 61 - dd; }

if (mm == 10) { n = 92 - dd; }

if (mm == 9) { n = 122 - dd; }

if (mm == 8) { n = 153 - dd; }

if (mm == 7) { n = 184 - dd; }

if (mm == 6) { n = 214 - dd; }

if (mm == 5) { n = 245 - dd; }

if (mm == 4) { n = 275 - dd; }

if (mm == 3) { n = 306 - dd; }

if (mm == 2) { n = 334 - dd; if(leapyear(yy)) n = n + 1; }

if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n = n + 1; }

if (gmonth == 1) m = 31;

if (gmonth == 2) { m = 59;   if (leapyear(gyear)) m = m + 1; }

if (gmonth == 3) { m = 90;   if (leapyear(gyear)) m = m + 1; }

if (gmonth == 4) { m = 120;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 5) { m = 151;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 6) { m = 181;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 7) { m = 212;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 8) { m = 243;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 9) { m = 273;  if (leapyear(gyear)) m = m + 1; }

if (gmonth == 10) { m = 304; if (leapyear(gyear)) m = m + 1; }

if (gmonth == 11) { m = 334; if (leapyear(gyear)) m = m + 1; }

if (gmonth == 12) { m = 365; if (leapyear(gyear)) m = m + 1; }

totdays = (parseInt(age) * 365);

totdays += age / 4;

totdays = parseInt(totdays) + gdate + m + n;

document.form1.answer.value = "" + totdays +" 日 ";

months = age * 12;

months += 12 - parseInt(mm);

months += gmonth;

document.form1.months.value = months + " 月";

if (gmonth == 1) p = 31 + gdate;

if (gmonth == 2) { p = 59 + gdate;   if (leapyear(gyear)) m = m + 1; }

if (gmonth == 3) { p = 90 + gdate;   if (leapyear(gyear)) p = p + 1; }

if (gmonth == 4) { p = 120 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 5) { p = 151 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 6) { p = 181 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 7) { p = 212 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 8) { p = 243 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 9) { p = 273 + gdate;  if (leapyear(gyear)) p = p + 1; }

if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p = p + 1; }

if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p = p + 1; }

if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p = p + 1; }

weeks = totdays / 7;

weeks += " 星期";

weeks = parseInt(weeks);

document.form1.weeks.value = weeks + " 星期";

var time = new Date();

ghour = time.getHours();

gmin = time.getMinutes();

gsec = time.getSeconds();

hour = ((age * 365) + n + p) * 24;

hour += (parseInt(age / 4) * 24);

if(ap == 0)

hour = hour - hr;

else {

if(ap == 1) {

hour = hour - (11 + hr)

}

}

document.form1.hours.value = hour + " 小时";

var min;

min = (hour * 60) + gmin;

document.form1.min.value = min + " 分钟";

sec = (min * 60) + gsec;

document.form1.sec.value = sec + " 秒";

var millisec;

var gmil;

gmil = days.getMilliseconds();

millisec = (sec * 1000) + gmil;

document.form1.milli.value = millisec + " 毫秒";

mm = mm - 1;

var r;

if(mm == 0) r = 1;

if(mm == 1) r = 31;

if(mm == 2) { r = 59;    if (leapyear(gyear)) m = m + 1; }

if(mm == 3) { r = 90;    if (leapyear(gyear)) r = r + 1; }

if(mm == 4) { r = 120;   if (leapyear(gyear)) r = r + 1; }

if(mm == 5) { r = 151;   if (leapyear(gyear)) r = r + 1; }

if(mm == 6) { r = 181;   if (leapyear(gyear)) r = r + 1; }

if(mm == 7) { r = 212;   if (leapyear(gyear)) r = r + 1; }

if(mm == 8) { r = 243;   if (leapyear(gyear)) r = r + 1; }

if(mm == 9) { r = 273;   if (leapyear(gyear)) r = r + 1; }

if(mm == 10) { r = 304;  if (leapyear(gyear)) r = r + 1; }

if(mm == 11) { r = 334;  if (leapyear(gyear)) r = r + 1; }

if(mm == 12) { r = 365;  if (leapyear(gyear)) r = r + 1; }

mm = mm + 1;

r = parseInt(r) + parseInt(dd);

if( mm > (gmonth + 1)) {

bday = r - m - gdate;

}

else {

if(mm == (gmonth + 1) && (gdate < dd)) {

bday = (r - m - gdate);

}

else {

if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) {

a = 366;

}

else {

a = 365;

}

bday = a + (r - m - gdate);

}

}

nhour = 24-parseInt(ghour);

nmin = 60 - parseInt(gmin);

nsec = 60 - parseInt(gsec);

go();

if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) {

document.form1.bday.value = "今天是您的生日喔";

alert("Happy Birthday");

} else {

document.form1.bday.value = bday + " 日 " + nhour + " 小时 " + nmin + " 分钟 " + nsec + " 秒";

setTimeout("run()", 1);

}

function go() {

function lyear(a) {

if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true;

else return false;

}

mm = parseInt(mm);

dd = parseInt(dd);

yy = parseInt(yy);

if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == " ") || (dd == " ") || (yy == " "))  main="Invalid";

else

if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = "Invalid";

else

if (mm == 2) {

if (dd > 29)

main = "Invalid";

else

if(( dd > 28) && (!lyear(yy)))

main = "Invalid";

}

else main = main;

if(main == "valid") {

var m;

if (mm == 1) n = 31;

if (mm == 2) n = 59 + 1;

if (mm == 3) n = 90 + 1;

if (mm == 4) n = 120 + 1;

if (mm == 5) n = 151 + 1;

if (mm == 6) n = 181 + 1;

if (mm == 7) n = 212 + 1;

if (mm == 8) n = 243 + 1;

if (mm == 9) n = 273 + 1;

if (mm == 10) n = 304 + 1;

if (mm == 11) n = 334 + 1;

if (mm == 12) n = 365 + 1;

if((mm == 1)||(mm == 3)||(mm == 5)||(mm == 7)||(mm == 8)||(mm == 10)||(mm == 12))

n += 31 + dd;

else if((mm == 4)||(mm == 6)||(mm == 9)||(mm == 11))

n += 31 + dd + 1;

else if(mm == 2) {

if(lyear(yy)) n += 29 + dd - 3;

else if(!lyear(yy)) n += 28 + dd - 1;

}

fours = yy / 4;

hunds = yy / 100;

fhunds = yy / 400;

var day;

day = (yy + n + fours - hunds + fhunds) % 7;

day = parseInt(day)

switch(day)

{

case 1 : document.form1.age.value +="  您出生于 星期天"

break

case 2 : document.form1.age.value +="  您出生于 星期一"

break

case 3 : document.form1.age.value +="  您出生于 星期二"

break

case 4 : document.form1.age.value +="  您出生于 星期三"

break

case 5 : document.form1.age.value +="  您出生于 星期四"

break

case 6 : document.form1.age.value +="  您出生于 星期五"

break

case 7 : document.form1.age.value +="  您出生于 星期六"

break

case 0 : document.form1.age.value +="  您出生於 星期六"

break

}

}

else {

document.form1.age.value += main + " 日";

}

}

}

else {

document.form1.age.value = main + " 日";

document.form1.months.value = "";

document.form1.weeks.value = "";

document.form1.answer.value = "";

document.form1.hours.value = "";

document.form1.min.value = "";

document.form1.sec.value = "";

document.form1.bday.value = "";

document.form1.milli.value = "";

}

}

//  End -->

请于下列输入您的出生日期

公元

时间

上午

下午

出生到现在您已过了如下表所列之时间

以月计算
以星期计算
以日期计算
以小时计算
以分钟计算
以秒計算
以毫秒計算

到您的下一次生日还剩下

珍惜生命、爱护时间!!!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值