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.
Das Datum in Teile aufteilen und dann ein neues Datum mit den angepassten Werten zurückgeben
function DateAdd(date, type, amount){
var y = date.getFullYear(),
m = date.getMonth(),
d = date.getDate();
if(type === 'y'){
y += amount;
};
if(type === 'm'){
m += amount;
};
if(type === 'd'){
d += amount;
};
return new Date(y, m, d);
}
Denken Sie daran, dass die Monate auf Null basieren, die Tage jedoch nicht. d.h. neues Datum(2009, 1, 1) == 01. Februar 2009, neues Datum(2009, 1, 0) == 31. Januar 2009;
Einige Leute schlugen vor, moment.js zu verwenden, um sich das Leben bei der Handhabung von Daten in js zu erleichtern. Seit diesen Antworten ist einige Zeit vergangen, und es ist bemerkenswert, dass die Autoren von moment.js raten jetzt von der Verwendung ab . Vor allem wegen seiner Größe und der fehlenden Unterstützung für das Schütteln von Bäumen.
Wenn Sie den Weg über die Bibliothek gehen wollen, verwenden Sie eine Alternative wie Luxon . Es ist deutlich kleiner (aufgrund der geschickten Nutzung des Intl Objekt und Unterstützung für Tree-Shaking) und genauso vielseitig wie moment.js.
Um 5 Tage von heute an in Luxon zurückzugehen, würden Sie das tun:
import { DateTime } from 'luxon'
DateTime.now().minus({ days: 5 });
Siehe den folgenden Code, subtrahieren Sie die Tage von dem aktuellen Datum. Stellen Sie außerdem den Monat entsprechend dem subtrahierten Datum ein.
var today = new Date();
var substract_no_of_days = 25;
today.setTime(today.getTime() - substract_no_of_days* 24 * 60 * 60 * 1000);
var substracted_date = (today.getMonth()+1) + "/" +today.getDate() + "/" + today.getFullYear();
alert(substracted_date);
Verwenden Sie MomentJS .
function getXDaysBeforeDate(referenceDate, x) {
return moment(referenceDate).subtract(x , 'day').format('MMMM Do YYYY, h:mm:ss a');
}
var yourDate = new Date(); // let's say today
var valueOfX = 7; // let's say 7 days before
console.log(getXDaysBeforeDate(yourDate, valueOfX));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
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.