我需要用Java获取真实世界的日期和时间。我用:
Date date = new Date();
但我不确定这不仅仅是系统时间。我不需要依赖PC当地的日期和时间。
如果是这样,那么有没有办法从中抽象出来?我的意思是我需要正确的时间和日期。如果今天是2012年5月1日,并且用户在2000年12月1日更改了(可能存在系统错误),则不应影响业务逻辑。那么有没有其他方法来实现这个目标呢?
答案 0 :(得分:6)
Date
仅表示自1970年1月1日的Unix纪元 UTC (模数闰秒)以来的一个时间点,以毫秒为单位。它的数据中没有时区概念。但是,如果使用toString
方法,它将始终使用系统时区将该UTC时刻转换为本地日期/时间。这让很多用户感到困惑,让他们认为Date
包含一个时区 - 这只是一种幻想。
同样Date
没有任何日历系统(格里高利,朱利安等)或“格式”的概念。基本上它只是long
:)