【发布时间】:2011-07-16 19:38:02
【问题描述】:
我有一个 java.sql.Timestamp,我想截断日期并以 12 小时的方式显示,例如(18:42 为下午 6:42)
我试过了:
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);
}
我得到(线程“Thread-14”java.lang.NumberFormatException 中的异常:对于输入字符串:“06.0”)但我从不给它一个十进制数。
【问题讨论】:
标签: java parsing time timestamp clock