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

时间:2012-09-27 11:48:09

标签: java

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

long userSelectedTimeLong = date.getTime()

4 个答案:

答案 0 :(得分:1)

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

一旦你执行了下一个任务,date变量确实包含当前日期。您可以使用new Date().getTime()

打印简单日志

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

相关问题