Ich arbeite mit einem Datum in diesem Format: yyyy-mm-dd
.
Wie kann ich dieses Datum um einen Tag verlängern?
Ich arbeite mit einem Datum in diesem Format: yyyy-mm-dd
.
Wie kann ich dieses Datum um einen Tag verlängern?
So etwas sollte den Zweck erfüllen:
String dt = "2008-01-01"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, 1); // number of days to add
dt = sdf.format(c.getTime()); // dt is now the new date
UPDATE (Mai 2021): Dies ist eine wirklich veraltete Antwort für altes, altes Java. Für Java 8 und höher, siehe https://stackoverflow.com/a/20906602/314283
Java scheint im Vergleich zu C# noch weit hinterherzuhinken. Diese Utility-Methode zeigt, wie man in Java SE 6 mit der Methode Calendar.add (vermutlich der einzige einfache Weg).
public class DateUtil
{
public static Date addDays(Date date, int days)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days); //minus number would decrement the days
return cal.getTime();
}
}
Um einen Tag hinzuzufügen, ist die Frage wie folgt zu formulieren:
String sourceDate = "2012-02-29";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = format.parse(sourceDate);
myDate = DateUtil.addDays(myDate, 1);
Unter Java 8 und höher wird die java.time-Paket macht dies so gut wie automatisch. ( Tutorial )
Angenommen, String
Eingabe und Ausgabe:
import java.time.LocalDate;
public class DateIncrementer {
static public String addOneDay(String date) {
return LocalDate.parse(date).plusDays(1).toString();
}
}
Ich bevorzuge die Verwendung von DateUtils von Apache. Prüfen Sie dies http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/time/DateUtils.html . Es ist besonders praktisch, wenn Sie es an mehreren Stellen in Ihrem Projekt verwenden müssen und nicht Ihre eigene Methode dafür schreiben möchten.
Die API sagt:
addDays(Datum date, int amount) : Fügt eine Anzahl von Tagen zu einem Datum hinzu und gibt ein neues Objekt zurück.
Beachten Sie, dass ein neues Date-Objekt zurückgegeben wird und keine Änderungen am vorherigen Objekt selbst vorgenommen werden.
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.
12 Stimmen
Wenn Sie Java 8 oder eine neuere Version verwenden, können Sie die neue Datums-/Zeit-API nutzen. Siehe diese Antwort: stackoverflow.com/a/23910924/1115554
6 Stimmen
New DateTime().plusDays(1).toDate() ???