So finden frühere Datum, wenn das aktuelle Datum wird als String?
Wie findet früheren Zeitpunkt, wenn das aktuelle Datum wird als String? Unten ist mein code. Gibt es eine kürzere Lösung?
private static String previousDay(String date) {
String[] ymd = date.split("-");
int year = Integer.parseInt(ymd[0]);
int month = Integer.parseInt(ymd[1]);
int day = Integer.parseInt(ymd[2]);
String newDate = "";
if (day > 1 & month > 1)
newDate = year+"-"+month+"-"+(day-1);
else if (day == 1 & month > 1) {
Calendar calendar = new GregorianCalendar(year,month-1, 1);
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
newDate = year+"-"+(month-1)+"-"+daysInMonth;
} else if (day == 1 & month == 1) {
Calendar calendar = new GregorianCalendar(year,12, 1);
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
newDate = year+"-"+12+"-"+daysInMonth;
}
return newDate;
}
- hmm, ich würde " = SimpleDateFormat verwenden, um wiederherstellen der string ein java.util.Date-Objekt, und verwenden Sie dann die. Poste den code kurz.
- mögliche Duplikate von how to get früheren Zeitpunkt in java
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie konvertieren Sie Ihre String zu Datum, um Datum Berechnungen. Sie können Kalender zu finden frühere Tag. Aus dem code, ich gehe davon aus, Ihr Datum im format yyyy-MM-dd.
Ab diesem Punkt können Sie das Datum (oder Kalender) - Dienstprogramme und führen Sie das Datum der operation, die Sie brauchen.