Ich habe einen Teil von Skript, das die verbleibenden Tage auf ein Ereignis berechnet:Javascript Unix Epoch Zeit Fremdheit
var currTime = Math.round(new Date().getTime()/1000.0);
var dispDate = event.find('UnixEpoch').text();
var diffDate = (dispDate - currTime)/86400;
var dateRound = Math.round(diffDate) - 30;
Die erste Zeile erhält die aktuelle Unix-Epoche Zeit und die Millisekunden shaves ab. Die zweite Zeile ruft das zukünftige Ereignisdatum aus einem XML-Feed ab. Wenn ich beide Male in einen Epochenrechner online stelle, bekomme ich das korrekte Datum für currTime und dispDate. Aber wenn ich sie in Tage dividiere (dritte Zeile), ist das Endergebnis um mehr als 30 Tage veraltet, weshalb ich die letzte Zeile verwenden muss, um die richtige Anzahl von Tagen zu erhalten.
Nun, das ist seltsam genug. Aber da ist noch etwas anderes, das ich nicht herausfinden kann. Früher war es 31 Tage alt, und das ist falsch, also habe ich das Skript auf 30 Tage geändert, was richtig ist.
Kann jemand darauf hinweisen, was ich falsch mache? Ich kann nicht für das Leben von mir herausfinden, warum das passiert, und ich würde lieber nicht weiter daran arbeiten müssen.
http://xkcd.com/376/ :) – Macke