Je voudrais aller avec datetime, et décrémenter la quantité de secondes. Ensuite, les minutes, heures, jours, mois, années seront fixés automatiquement. Il suffit ensuite d'avoir une fonction formatDate générale qui reçoit un datetime et qui sort votre "xx: xx: xx" ou "terminé" en fonction de cela.
Créer un nouvel objet datetime basé sur la date d'aujourd'hui:
var dt = new Date();
ensemble à une valeur spécifique (note ce mois est un ENUM, et commence par 0):
var dt = new Date(2009, 10, 16, 11, 50, 30); // yyyy, mm, dd, hh, mm, ss
Diminution de un seconde:
dt.setSeconds(dt.getSeconds()-1);
Vos convertisseurs:
function dateToString(dt) {
var h = dt.getHours();
var m = dt.getMinutes();
var s = dt.getSeconds();
// ensure there are always at least two characters
h = ('0' + h).substring(h.toString().length - 2);
m = ('0' + m).substring(m.toString().length - 2);
s = ('0' + s).substring(s.toString().length - 2);
return h + ':' + m + ':' + s;
}
function stringToDate(s) {
var dateParts = s.split(':');
var h = parseInt(dateParts[0], 10);
var m = parseInt(dateParts[1], 10);
var s = parseInt(dateParts[2], 10);
return new Date(2009, 0, 1, h, m, s); // if you're only using time, the date doesn't matter
}
OK, mais puis-je facilement convertir une chaîne 00: 00: 00 en datetime et en dateime dans ce format? – Kovu
voir ma modification pour deux fonctions d'utilité –