web-dev-qa-db-fra.com

Ajouter 6 heures à l'heure actuelle et afficher la page

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?

21
A_Elric

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>
37
Pedro del Sol

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);
8
Ramesh Kotha
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.

4
Mike Samuel

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()
2
Alan Aasmaa

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;

2
Burkie