【发布时间】:2020-01-19 12:43:36
【问题描述】:
日历得到错误的 unix 时间。
long millis = 1568814839L;
System.out.println(millis); //1568814839
Calendar.getInstance(TimeZone.getTimeZone("Asia/Tashkent"));
calendar.setTimeInMillis(millis);
System.out.println(calendar.get(Calendar.MILLISECOND));//839
我该怎么办? Calendar.YEAR 应该是 2019 年的毫秒。但是,日历给我的是 1970,为什么?
【问题讨论】:
-
这是因为 1568814839 是以毫秒为单位的时间,但总体而言它包含一分钟、一小时、一天、一个月和一年。
-
我什么都不懂
-
你的 1568814839 是:2019 年 9 月 18 日星期三 1:53:59 和 839 秒,所以当你
get(Calendar.MILLISECOND)它会返回给你 839 -
但是 Calendar.YEAR 用那个毫秒返回我 1970 年。月为 1,日为 19(自 1970 年以来为 839 1 1)
-
删除
TimeZone.getTimeZone("Asia/Tashkent")
标签: java android unix-timestamp android-calendar java.util.calendar