我將十六進制字符串轉換成dateformat ...我錯誤的日期時間與以下..不知道我在哪裏犯了一個錯誤。十六進制日期時間格式的字符串
String s1="07:db:0c:08:16:0d:1e:00"; //2011-12-8,22:13:30.0
s1 = s1.replaceAll(":", "");
String year = s1.substring(0, 4);
String month = s1.substring(4, 6);
String day = s1.substring(6, 8);
String hour = s1.substring(8, 10);
String minute = s1.substring(10, 12);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(year, 16));
cal.set(Calendar.MONTH, Integer.parseInt(month, 16));
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day, 16));
cal.set(Calendar.HOUR, Integer.parseInt(hour, 16));
cal.set(Calendar.MINUTE, Integer.parseInt(minute, 16));
System.out.println(cal.getTime());
我的輸出爲 '星期一09年1月10時十三分49秒CST 2012' ..這是不正確的(應該是2011-12-8,22:13:30.0 - 忽略現在格式) 。
@srkavin設置
HOUR_OF_DAY
而不是HOUR
:謝謝..它的工作太棒了! – riamob謝謝你指出這個月的錯誤..它現在有效。 – riamob