Wie formatiere ich eine java.sql.Timestamp als (hh:mm AM/PM)

Ich habe einen java.sql.Zeitstempel und ich möchte Sie zum abschalten der Datums-und zeigen Sie in 12-Stunden-Mode, z.B. (18:42 6:42 UHR)

Habe ich versucht:

public static String formatTimestampAsTwelveHour(java.sql.Timestamp stamp){

        String stampString = stamp.toString();
        String hms  = stampString.split(" ")[1];
        String[] hmsArray = hms.split(":");
        int hours = Integer.parseInt(hmsArray[0]);
        int minutes = Integer.parseInt(hmsArray[1]);
        int seconds = Integer.parseInt(hmsArray[2]);//just in case someone wants seconds

        String suffix = "";
        if (hours > 12){
            hours = hours -12;
            suffix = "PM";
        }else if (hours == 12){
            suffix = "PM";
        }else{
            suffix = "AM";
        }
        String lessThanTen = "";
        if (minutes<10){
            lessThanTen = "0";
        }
        return String.format("%i:%s%i %s", hours, lessThanTen,minutes, suffix);

}

Bekomme ich (Exception in thread "Thread-14" java.lang.NumberFormatException: For input string: "06.0"), aber ich habe nie geben Sie eine Dezimalzahl.

InformationsquelleAutor davidahines | 2011-03-16

Schreibe einen Kommentar