2016-12-26 8 views
0

Ich möchte meinen var Wert extacly unter einem anderen var anzeigen, hier mein Beispiel.Wie generiere und manipuliere ich Date-Objekte in JavaScript?

var d = new Date(); 
var alldifftime = (d.getFullYear()+','+ d.getMonth()+','+ d.getDate()+','+ (d.getHours()-7)+','+ d.getMinutes()+','+ d.getSeconds()); 

var difftime = new Date() - new Date(Date.parse(new Date(alldifftime))); 

wie

var difftime = new Date() - new Date(2016,11,26,19,41,48); 

2016,11,26,19,41,48 werden, ist die Gegenwart.

Danke.

Antwort

0

Wenn Sie den Unterschied zwischen zwei Daten erhalten mag, ist es vereinfacht mit momentjs: http://momentjs.com/docs/#/displaying/difference/

var dateNow = moment(); 
var dateBefore = moment().subtract(7, 'hours'); 
var dateDiff = dateNow.diff(dateBefore, "hours"); 
+0

genial. löse mein Problem, ich benutze nie moment.js vorher. –

2

Der Grund der Code, den Sie nicht wie beabsichtigt geteilt funktioniert ist, dass der Verkettungsoperator wandelt Strings Zahlenwerte in . Versuchen Sie Folgendes:

var d = new Date(), 
    dYear = d.getFullYear(), 
    dMonth = d.getMonth(), 
    dDate = d.getDate(), 
    dHours = d.getHours() - 7, 
    dMinutes = d.getMinutes(), 
    dSeconds = d.getSeconds(); 

// difftime will contain the time difference between the two dates in milliseconds 
var difftime = new Date() - new Date(dYear, dMonth, dDate, dHours, dMinutes, dSeconds); 
+0

wirklich schnelle Antwort, ich bin Neuling hier, Entschuldigung für meine dumme Frage, aber ich schätze es, danke, es ist Arbeit. –

+0

@StanleyAngelino Bitte fasse unsere Antworten auf und/oder markiere eins als korrekt, wenn sie dir geholfen haben. Vielen Dank! –

0

Um ein Datum zu erhalten, die 7 Stunden vor einem ersten Zeitpunkt ist, kopieren Sie das Datum und die Stunden bis 7 Stunden. Um die Differenz zwischen zwei Daten zu erhalten, subtrahiert nur eine von den anderen den Unterschied in Millisekunden zu erhalten und zu konvertieren, was Zeit-Einheit (en), die Sie (zB Stunden):

// Now 
 
var d0 = new Date(); 
 
// Copy for then 
 
var d1 = new Date(d0); 
 
d1.setHours(d1.getHours() - 7); 
 
console.log('The time now: ' + d0.toString() + 
 
      '\n7 hours ago : ' + d1.toString()); 
 

 
console.log('Diff time: ' + ((d0 - d1)/3.6e6) + ' hours');

Verwandte Themen