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

时间:2012-06-12 16:01:27

标签: java

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

Date date = new Date();

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

如果是这样,那么有没有办法从中抽象出来?我的意思是我需要正确的时间和日期。如果今天是2012年5月1日,并且用户在2000年12月1日更改了(可能存在系统错误),则不应影响业务逻辑。那么有没有其他方法来实现这个目标呢?

1 个答案:

答案 0 :(得分:6)

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

同样Date没有任何日历系统(格里高利,朱利安等)或“格式”的概念。基本上它只是long:)