今天我正在用Javascript训练日期。
我显示了今天的日期 以及自 1970 年 1 月 1 日以来的毫秒数。
现在我想显示自我出生以来的毫秒数,但不知道为什么我的一个函数会产生错误的结果。
第一个功能工作正常,但在第二个函数中,毫秒计数保持固定。
此示例适用于:
function elapsedTime(id) {
date = new Date()
epoque = date.getTime()
if (epoque < 10) {
epoque = "0" + epoque
}
resultat = epoque + ' millisecondes ce sont écoulées depuis le 1er janvier 1970'
document.getElementById(id).innerHTML = resultat
setTimeout('elapsedTime("' + id + '");','1000')
return true;
}
此示例不起作用:
function myBirthday(id) {
birthday = new Date('september 15, 1986 14:29:00')
milliseconde = birthday.getTime()
if (milliseconde < 10) {
milliseconde = "0" + milliseconde
}
resultat = milliseconde + ' millisecondes ce sont écoulées depuis ma naissance'
document.getElementById(id).innerHTML = resultat
setTimeout('myBirthday("' + id + '");','1000')
return true;
}
我不明白我的错误在哪里。
感谢您的帮助。
要获得自出生以来的毫秒数,您必须从当前时间中减去出生时间。每次调用函数时,您只是显示从纪元到出生时间的毫秒数。
function myBirthday(id) {
birthday = new Date('september 15, 1986 14:29:00')
milliseconde = new Date().getTime() - birthday.getTime()
if(milliseconde<10){
milliseconde = "0"+milliseconde
}
resultat = milliseconde+ ' millisecondes ce sont écoulées depuis ma naissance'
document.getElementById(id).innerHTML = resultat
setTimeout('myBirthday("'+id+'");','1000')
return true;
}
myBirthday("output");
<div id="output"></div>
您需要从当前日期毫秒中扣除您的生日毫秒:
var birthday = new Date('September 15, 1986 14:29:00');
var now = new Date();
var difference = now - birthday;