以下是让我发疯的原因,为什么我在使用下面的代码转换Unix时间1386230874时得到了错误的日历日期!!
这应该是12月5日星期四19:07:54
输出:
Comment posted on:Sat Jan 17 11:03:50 EST 1970
代码:
Calendar facebook_created_time_calendar = Calendar.getInstance(TimeZone.getTimeZone("Australia/Sydney"));
facebook_created_time_calendar.setTimeInMillis(1386230874);
out.print("Comment posted on:");
out.println(facebook_created_time_calendar.getTime());
答案 0 :(得分:19)
Java使用毫秒时间戳,而Unix时间戳通常以秒为单位。将Unix时间戳乘以1000L
以获得正确的时间。
答案 1 :(得分:2)
Unix测量时间为秒数(“1386230”秒[你用setTimeInMillis
为几秒到几毫秒]是“16.04433”天)和epoch(1970年1月1日+ 16.04天)是1月17日它正在运作) - 所以试试这个
facebook_created_time_calendar
.setTimeInMillis(1386230874L * 1000);