这是我的代码:
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(sp.timestamp);
int month = cal.get(Calendar.MONTH);
当我这样做时,
Log.d("month", String.valueOf(month));
我得到0。
我还记录了sp.timestamp
,它是1410460389
。我期待着回归" 8" (因为它是九月)。只有三条线,它们看起来正确,所以我完全不知所措?
答案 0 :(得分:3)
1410460389
以秒为单位,而setTimeInMillis
需要毫秒。
因此,请尝试:
cal.setTimeInMillis(sp.timestamp * 1000L);
答案 1 :(得分:1)
1410460389
对应于1970年1月17日。第一个月以零开始。
当前时间戳应为1410469839296
,表示您的时间戳实际上是以秒为单位而不是毫秒。
答案 2 :(得分:0)
月份是0,这就是为什么它为零。这是日历的javadoc:http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#MONTH