为什么 date.gettime() 在 java 中总是返回 Previous Date,而不是今天的日期?



我有以下代码,运行在Unix服务器(WAS 5.1)上,这是我们公司的测试环境。当我尝试执行以下代码时,我总是得到昨天的日期(即如果我今天执行 9/27/2012,它返回日期为 9/26/2012)

long userSelectedTimeLong = date.getTime()

Date 根据计算机的TimeZone返回时间。您的服务器可能托管在其他地方,并且时区值不同。您需要通过具有相同时区来比较日期值。

一旦你完成了下一个任务date变量真的包含当前日期。您可以使用new Date().getTime()打印一个简单的日志<</p>

div class="one_answers">

我曾经遇到过类似的问题;-)检查本地日期变量是否在应用程序启动时实例化,以及在应用程序运行时是否未刷新。

这将是很好的使用 long userSelectedTimeLong = Calendar.getInstance().getTimeInMillis()

另一种可能性:服务器是否与某种时间服务同步?(NTP,...也许只是Unix机器上的系统日期设置错误。

最新更新