Inkrement-Zeichenkette für das Datum um 1 Tag
Habe ich ein Datum String newDate = "31.05.2001"
denen ich erhöht um 1 Tag.
Habe ich versucht den folgenden code:
String dateToIncr = "31.12.2001";
String dt="";
SimpleDateFormat sdf = new SimpleDateFormat("dd.mm.yyyy");
Calendar c = Calendar.getInstance();
try {
c.setTime(sdf.parse(dateToIncr));
} catch (ParseException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
c.add(Calendar.DAY_OF_MONTH, 1); //number of days to add
dt = sdf.format(c.getTime());
System.out.println("final date now : " + dt);
Aber mit diesem code, es ist nur die Verwaltung, fügen Sie das TAG ich.e Ausgabe von 31.05.2001 werden 1.05.2001 halten, den Monat und das Jahr, unverändert! Bitte helfen Sie mir mit diesem.
Ich habe auch versucht
c.roll(Calendar.DATE, 1); //number of days to add
- Err,
Calendar.add()
funktionieren sollte. Sind Sie sicher, dass Sie über Ihre ein-und Ausgänge? - Das ist, warum sind strings nicht gut Spülbecken
- Ich versuchte, die code - es tut sich wie beschrieben... Komisch?!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden
new SimpleDateFormat("dd.MM.yyyy");
'mm' bedeutet, Minuten, 'MM' ist Monaten.
Wäre es einfacher für Sie, um es in ein java -
Date
Objekt und verwenden SieDateUtils
von Apache für die verschiedenen Operationen. Überprüfen Sie diese http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/time/DateUtils.html. Es ist praktisch, besonders dann, wenn Sie es verwenden mehreren stellen im Projekt und würde nicht wollen, zu schreiben lächerliche Zahl von Linien jedes mal.Die API sagt:
addDays(Date Date, int Menge) : Addiert eine Anzahl Tage zu einem Datum der Rückgabe ein neues Objekt.
Beachten Sie, dass es gibt ein neues
Date
Objekt und nimmt keine änderungen an den vorherigen sich.Dein Fehler ist im date-format. Sie verwenden sollten, MM (Monat) anstelle von mm (Minuten).
Ändern
SimpleDateFormat sdf = new SimpleDateFormat("dd.mm.yyyy");
zu "= SimpleDateFormat sdf = new " = SimpleDateFormat("dd.MM.JJJJ");genießen.
probieren Sie es aus!!!!