Gibt es eine einfache Möglichkeit, ein olain JavaScript aufzunehmen? Date
(z. B. heute) und X Tage zurückgehen?
Wenn ich also zum Beispiel das Datum 5 Tage vor dem heutigen Tag berechnen möchte.
Gibt es eine einfache Möglichkeit, ein olain JavaScript aufzunehmen? Date
(z. B. heute) und X Tage zurückgehen?
Wenn ich also zum Beispiel das Datum 5 Tage vor dem heutigen Tag berechnen möchte.
Wenn Sie sowohl eine Anzahl von Tagen subtrahieren als auch das Datum in einem für Menschen lesbaren Format formatieren möchten, sollten Sie die Erstellung einer benutzerdefinierten DateHelper
Objekt, das in etwa wie folgt aussieht:
var DateHelper = {
addDays : function(aDate, numberOfDays) {
aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
return aDate; // Return the date
},
format : function format(date) {
return [
("0" + date.getDate()).slice(-2), // Get day and pad it with zeroes
("0" + (date.getMonth()+1)).slice(-2), // Get month and pad it with zeroes
date.getFullYear() // Get full year
].join('/'); // Glue the pieces together
}
}
// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Subtract 5 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), -5));
(siehe auch diese Fiedel )
Eine einfache Möglichkeit, Termine zu verwalten, ist die Verwendung von Moment.js
Sie können verwenden add
. Beispiel
var startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days'); //Add 5 days to start date
alert(new_date);
Um relative Zeitstempel mit einer genaueren Differenz als ganzen Tagen zu berechnen, können Sie Date.getTime() und Date.setTime() verwenden, um mit ganzen Zahlen zu arbeiten, die die Anzahl der Millisekunden seit einer bestimmten Epoche - nämlich dem 1. Januar 1970 - darstellen. Wenn Sie zum Beispiel wissen wollen, wann es 17 Stunden nach jetzt ist:
const msSinceEpoch = (new Date()).getTime();
const fortyEightHoursLater = new Date(msSinceEpoch + 48 * 60 * 60 * 1000).toLocaleString();
const fortyEightHoursEarlier = new Date(msSinceEpoch - 48 * 60 * 60 * 1000).toLocaleString();
const fiveDaysAgo = new Date(msSinceEpoch - 120 * 60 * 60 * 1000).toLocaleString();
console.log({msSinceEpoch, fortyEightHoursLater, fortyEightHoursEarlier, fiveDaysAgo})
function daysSinceGivenDate (date) {
const dateInSeconds = Math.floor((new Date().valueOf() - date.valueOf()) / 1000);
const oneDayInSeconds = 86400;
return Math.floor(dateInSeconds / oneDayInSeconds); // casted to int
};
console.log(daysSinceGivenDate(new Date())); // 0
console.log(daysSinceGivenDate(new Date("January 1, 2022 03:24:00"))); // relative...
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.