从Unix时间到Java日历的转换
下面的内容让我抓狂,为什么我在使用下面的代码转换Unix时间1386230874时得到了错误的日历日期
这应该是2013年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());
# 1 楼答案
Java使用毫秒时间戳,而Unix时间戳通常以秒为单位。将Unix时间戳乘以
1000L
以获得正确的时间# 2 楼答案
Unix以秒为单位测量时间(“1386230”秒[你用
setTimeInMillis
将秒改为毫秒]是“16.04433”天),并且从epoch(1970年1月1日+16.04天是1月17日)开始,它就开始工作了-所以试试这个