我有一個java.sql.Timestamp,我想截斷日期並以12小時的方式顯示它,例如(18 :42下午6點42分)如何將java.sql.Timestamp格式化爲(hh:mm AM/PM)
我想:
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);
}
我得到(例外在線程 「主題-14」 java.lang.NumberFormatException:對於輸入字符串: 「06.0」),但我從來沒有放棄它是一個十進制數。
+1用於鏈接到Javadocs – 2011-03-16 17:59:49