java - 使用 java.util.Calendar 从时间戳检索年份和月份时给出错误数据

标签 java datetime datetime-format

为了从给定的时间戳获取年份和月份,我使用了这段代码。但为此给出了错误的答案。

    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/

相关文章:

java - 从java中的时间戳中提取元素

java - Hibernate、Postgres 和数组类型

java - 将对象转换为 Long 时使用 mapstruct 取消映射目标属性

java - Lettuce 在集群中进行故障转移

c# - 从字符串解析 DateTime 时遇到问题

mysql - 在 Mysql 过程中传递多个日期

java - 就内存和性能而言,在 Java 中每秒打印格式化日期+时间的最有效方法是什么?

java - Eclipse Tomcat 不更新

php - 从 MySql 返回小于 60 天的行

asp.net-mvc - 日期时间的数据格式字符串