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
InformationsquelleAutor You Kuper | 2012-01-20
Schreibe einen Kommentar