2015年6月4日 星期四

Calendar的陷阱 : 24小時or12小時制?

Java的Calendar是有分12小時制和24小時制的
之前一直以為他預設24小時制一直鬼打牆

Calendar.HOUR指的是12小時制的小時,如:
calendar.set(Calendar.HOUR, 5);

HOUR_OF_DAY才是24小時制的
如果給Calendar.HOUR超過12的數值日期可能會跑掉

正確用法(假設要設晚上8點):

24小時制
calendar.set(Calendar.HOUR_OF_DAY, 20);

12小時制
calendar.set(Calendar.AM_PM, Calendar.PM);
calendar.set(Calendar.HOUR_OF_DAY, 8);

也可以用calendar.get(Calendar.AM_PM)取得現在是上午或下午
calendar.get(Calendar.AM_PM)回傳整數1或0
0表AM 1表PM

沒有留言:

張貼留言