2011-05-18 123 views
2

为什么这个返回0?Java日历方法

Calendar calendar = Calendar.getInstance(); 
calendar.get(Calendar.HOUR_OF_DAY)? 
+0

在您所在的时区中,您是否有机会在上午12点到上午12点59分之间? – 2011-05-18 01:03:27

+0

HOUR_OF_DAY的值为0-24。也许当你运行该代码时,等效时间为0.你是否每小时尝试一次? – exception01 2011-05-18 01:09:24

回答

3

Calendar.HOUR_OF_DAY将在每天的小时落在午夜到凌晨一点之间时为0。所以很可能,无论你在哪个时间段,或者你的Android模拟器都设置好了,所以它认为你处于这个时间间隔。

如果不是这种情况,您可以尝试将小时设置为某个任意值,然后再次检查它是否正常工作。要做到这一点,请尝试:

Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.HOUR_OF_DAY, 5); 
+0

感谢布鲁姆狗 – ryan 2011-05-18 01:19:38

0

理想情况下,不应该

试试这个

Calendar calendar = Calendar.getInstance(); 
System.out.println(calendar.get(Calendar.YEAR)); 
System.out.println(calendar.get(Calendar.HOUR)); 
System.out.println(calendar.get(Calendar.HOUR_OF_DAY)); 
System.out.println(calendar.get(Calendar.MINUTE)); 

没有从你有什么不同之处,我想打印一年,每小时,每天的时,分不同的。

+0

hrmm ...也许这是我的android模拟器?但这似乎工作正常:calendar.get(Calendar.DAY_OF_WEEK); – ryan 2011-05-18 01:04:46