205 votes

Comment puis-je soustraire minutes à partir d'une date en javascript?

Comment puis-je traduire cette pseudo-code en js [ne vous inquiétez pas, où la date de fin vient de sauf que c'est un javascript valide la date].

var myEndDateTime = somedate;  //somedate is a valid js date  
var durationInMinutes = 100; //this can be any number of minutes from 1-7200 (5 days)

//this is the calculation I don't know how to do
var myStartDate = somedate - durationInMuntes;

alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());

267voto

Daniel LeCheminant Points 28101

Une fois que vous savez ce:

  • Vous pouvez créer un Date en appelant le constructeur avec le nombre de millisecondes depuis le 1er janvier 1970.
  • L' valueOf() un Date est le nombre de millisecondes depuis le 1er janvier 1970
  • Il y a 60,000 millisecondes dans une minute,: -]

...il n'est pas si dur.

Dans le code ci-dessous, un nouveau Date est créé en soustrayant le nombre de millisecondes à partir de myEndDateTime:

var MS_PER_MINUTE = 60000;
var myStartDate = new Date(myEndDateTime - durationInMinutes * MS_PER_MINUTE);

135voto

Miquel Points 2184

Vous pouvez également utiliser get et set minutes pour l'atteindre:

var endDate = somedate;

var startdate = new Date(endDate);

var durationInMinutes = 20;

startdate.setMinutes(endDate.getMinutes() - durationInMinutes);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X