java - java.util.Date 是否将日期表示为系统日期?

标签 java

<分区>

我需要在 Java 中获取真实世界的日期和时间。我使用:

Date date = new Date();

但我不确定这不仅仅是系统时间。我不需要依赖 PC 本地日期和时间。

如果是这样,那么有什么方法可以从中抽象出来吗?我的意思是我需要正确的时间和日期。如果今天是 2012 年 5 月 1 日,用户将其更改为(可能是系统错误)到 2000 年 12 月 1 日,它应该不会影响业务逻辑。那么有没有其他方法可以实现这一目标?

最佳答案

日期 表示时间的瞬间,以 1970 年 1 月 1 日 UTC 的 Unix 纪元以来的毫秒数(模闰秒)为单位。它的数据中没有时区的概念。但是,如果您使用 toString 方法,它将始终将该 UTC 即时转换为使用系统时区的本地日期/时间。这让很多用户感到困惑,让他们认为 Date 包含时区 - 这只是一种错觉。

同样,Date 没有任何日历系统(Gregorian、Julian 等)或“格式”的概念。基本上它只是一个long :)

关于java - java.util.Date 是否将日期表示为系统日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11000409/

相关文章:

java - com.mongodb.MongoException : invalid operator: $or

java 正则表达式模式匹配与模式验证

java - Maven 找不到本地安装的 Artifact ,该 Artifact 仅存在于本地安装

java - 使用 Java 访问网络路径并将其转换为文件路径

java - 如何在Java中正确读取 "maze.txt"文件

java - 在 Android 中创建自定义 ListView 时出现 UnsupportedOperationException

java - 大数的Crockford base32编码——Java实现

Java 字符串置换ExecutorService

java - 安装 Spring Boot 应用程序

Java OpenCV - 缺少 org.opencv.core.Core rectangle() 方法