为了从给定的时间戳获取年份和月份,我使用了这段代码。但为此给出了错误的答案。
long timestamp = Long.parseLong("1459239223");
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
System.out.println(cal.get(Calendar.YEAR));
但是当使用this时它会给出应有的连接答案。知道为什么会发生这种情况。
注意:正在使用 Java 7 OpenJDK,并询问了有关 Getting “unixtime” in Java 的类似问题。
最佳答案
您所推荐的用于在线转换的网站是正确的。您已为日历实例设置了以秒为单位的时间,即乘以 1000 即可将以毫秒为单位的时间转换为秒。
long timestamp = Long.parseLong("1459239223000");
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
System.out.println(cal.get(Calendar.YEAR));
因此回答您的问题:Unix 时间定义为自 UTC 1970 年 1 月 1 日午夜以来经过的秒数。
关于java - 使用 java.util.Calendar 从时间戳检索年份和月份时给出错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279223/