Donc, j'essaie d'ajouter des étiquettes à un graphique, et je veux les ajouter à 6, 12, 18 et 24 heures sur l'axe horizontal.
Je veux écrire ces heures dans un format "hh: mm" (23:10, 05:10, 11:10 et 17:10 par exemple) pour le fuseau horaire local (ordinateur)?
Quelqu'un peut il m'aider avec ça?
basé sur Comment ajouter 30 minutes à un objet Date JavaScript?
var d1 = new Date ();
var d2 = new Date ( d1 );
d2.setHours ( d1.getHours() + 6 );
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date montrera comment manipuler les objets Date.
ajouté votre code avec quelques correctifs. modifié pour ajouter un deuxième document.write
<script type="text/javascript">
var timer = 24;
var d1 = new Date();
var d2 = new Date();
d1.setHours(+d2.getHours()+(timer/4) );
d1.setMinutes(new Date().getMinutes());
document.write(d1.toTimeString("hh:mm"));
document.write(d1.getHours()+":"+d1.getMinutes());
</script>
essaye ça
var today = new Date();
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
var MILLISECS_PER_HOUR = 60 /* min/hour */ * 60 /* sec/min */ * 1000 /* ms/s */;
function sixHoursLater(d) {
return new Date(+d + 6*MILLISECS_PER_HOUR);
}
La valeur numérique d'une date est en millisecondes par époque, vous pouvez donc simplement y ajouter un certain nombre de millisecondes pour obtenir une valeur numérique mise à jour.
Le +
L'opérateur de préfixe convertit la date en sa valeur numérique.
J'aime faire ça comme ça
new Date(new Date().setHours(new Date().getHours() + 6))
ou
new Date(new Date().setHours(new Date().getHours() + 6)).toString()
Est-ce que cela aide?
function getDateString(addT){
var time = new Date();
time.setHours(time.getHours() + addT );
return ((time.getHours()<10)?"0":"")+time.getHours() + ':' + time.getMinutes();
}
Ensuite, utilisez-le simplement pour faire apparaître les données sur le graphique où vous voulez?
c'est à dire:
for (i=0;i<=24;i+=6){
yourbox.innerHTML = '<p>'+getDateString(i)+'</p>';
}
ou quelque chose comme ça;