使用Java中的当前时间戳获得0个月

时间:2014-09-11 21:03:14

标签: java unix-timestamp

这是我的代码:

    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" (因为它是九月)。只有三条线,它们看起来正确,所以我完全不知所措?

3 个答案:

答案 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