Tijdnotatie Javascript counter
Met Javascript heb ik een timer gemaakt die aftelt naar een specifieke datum.
In principe werkt het maar de tijdnotatie zou ik willen veranderen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript">
window.addEventListener('load', function () {
var test = new Date() . getTime();
var enddate = new Date( "2021-04-24T00:00" ).getTime();
var countdown = setInterval(function() {
var datetime_now = new Date() . getTime();
var time_left = enddate - datetime_now;
var days = Math.floor(time_left / (1000 * 60 * 60 * 24));
var hours = Math.floor((time_left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((time_left % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((time_left % (1000 * 60)) / 1000);
document.getElementById("counter").innerHTML = days + "d " + hours + ":"
+ minutes + ":" + seconds;
if (time_left < 0) {
clearInterval(countdown);
document.getElementById("counter").innerHTML = "Tijs is om";
}
}, 1000);
});
</script>
window.addEventListener('load', function () {
var test = new Date() . getTime();
var enddate = new Date( "2021-04-24T00:00" ).getTime();
var countdown = setInterval(function() {
var datetime_now = new Date() . getTime();
var time_left = enddate - datetime_now;
var days = Math.floor(time_left / (1000 * 60 * 60 * 24));
var hours = Math.floor((time_left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((time_left % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((time_left % (1000 * 60)) / 1000);
document.getElementById("counter").innerHTML = days + "d " + hours + ":"
+ minutes + ":" + seconds;
if (time_left < 0) {
clearInterval(countdown);
document.getElementById("counter").innerHTML = "Tijs is om";
}
}, 1000);
});
</script>
Op het moment dat de uren, minuten of de secondes minder dan 10 is, is de tijdnotatie bijvoorbeeld 1:12:32 (1 uur 12 min en 32 seconden) of 23:1:9 (23 uur 1 min en 9 seconden).
Wat ik graag zou willen is op het moment als het onder de 10 is en dus de tijd over gaat op 1 getal dat er een 0 voor staat.
Dan zouden bovenstaande tijden er zo uitzien
01:12:32
23:01:09
Werk ik dan met een if statement of kan dit op een andere / simpelere manier?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
window.addEventListener('load', function () {
var test = new Date() . getTime();
var enddate = new Date( "2021-04-24T00:00" ).getTime();
var countdown = setInterval(function() {
var datetime_now = new Date() . getTime();
var time_left = enddate - datetime_now;
var days = Math.floor(time_left / (1000 * 60 * 60 * 24));
var hours = Math.floor((time_left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((time_left % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((time_left % (1000 * 60)) / 1000);
hours = hours < 10 ? "0" + hours : hours; //toegevoegd
minutes = minutes < 10 ? "0" + minutes : minutes; //toegevoegd
seconds = seconds < 10 ? "0" + seconds : seconds; //toegevoegd
document.getElementById("counter").innerHTML = days + "d " + hours + ":"
+ minutes + ":" + seconds;
if (time_left < 0) {
clearInterval(countdown);
document.getElementById("counter").innerHTML = "Tijs is om";
}
}, 1000);
});
</script>
window.addEventListener('load', function () {
var test = new Date() . getTime();
var enddate = new Date( "2021-04-24T00:00" ).getTime();
var countdown = setInterval(function() {
var datetime_now = new Date() . getTime();
var time_left = enddate - datetime_now;
var days = Math.floor(time_left / (1000 * 60 * 60 * 24));
var hours = Math.floor((time_left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((time_left % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((time_left % (1000 * 60)) / 1000);
hours = hours < 10 ? "0" + hours : hours; //toegevoegd
minutes = minutes < 10 ? "0" + minutes : minutes; //toegevoegd
seconds = seconds < 10 ? "0" + seconds : seconds; //toegevoegd
document.getElementById("counter").innerHTML = days + "d " + hours + ":"
+ minutes + ":" + seconds;
if (time_left < 0) {
clearInterval(countdown);
document.getElementById("counter").innerHTML = "Tijs is om";
}
}, 1000);
});
</script>
Bert Lodewijks op 23/04/2021 01:11:17:
document.getElementById("counter").innerHTML = "Tijs is om";
Bedoel je Tijs is omgelegd of tijd is om? :)
Jan
Code (php)
1
2
3
4
2
3
4
function pad( num, size ) {
var s = "0000" + num;
return s.substr( s.length - size );
}
var s = "0000" + num;
return s.substr( s.length - size );
}
en verander dan dit :
in dit :
Code (php)
1
var hours = pad( Math.floor( ( time_left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)), 2 );
Vergelijkbare regels ook aanpassen.
Kwam 27 uur geleden via dit :
https://www.google.com/search?q=javascript+opvullen+met+nullen
bij de uitleg :
http://domoticx.com/javascript-voorloopnullen-toevoegen-aan-een-getal/
Gewijzigd op 24/04/2021 10:07:44 door Adoptive Solution