【问题标题】:display of wrong time显示错误时间
【发布时间】:2009-05-04 11:49:01
【问题描述】:

我用JSF写了一个方法:

public static String getCurrentTime(Locale locale) {
        Calendar cal=Calendar.getInstance(locale);
        return new SimpleDateFormat("HHmmss").format(cal.getTime());
    }

在我的本地机器上测试我的应用程序时,我得到的时间与系统时间相同,但当我的朋友测试它时,时间延迟为 4 分钟。

可能是什么问题?否则建议一个代码来做同样的事情

【问题讨论】:

  • 您的朋友是在他们的计算机上运行它,还是从您的计算机上提取 JSF 页面。这是一次测试还是时间总是 4 分钟?

标签: java jsf time


【解决方案1】:

发生这种情况是因为您在两台不同的机器上进行测试 - 您的系统时间不同

时间严格取自您的本地计算机时间。如果您将时钟设置为 12:34,您将得到 12:34,而不是实际时间。

除非您连接到网络上的时间服务器,或者以某种方式设法同步您的时钟,否则您永远无法保证您将获得相同的时间。

或者,一旦您将 JSF 应用程序部署到生产服务器,您将始终获得服务器时间,这自然保证对所有用户都是正确的。

【讨论】:

  • 我同意。这与 Java 或 Java Server Faces 本身无关。这只是时间同步的问题。
【解决方案2】:

如果您希望时间准确,请将计算机的时钟与NTP 同步。

【讨论】:

    【解决方案3】:

    您可以检查计算机是否与网络上的时钟匹配,例如 http://www.atomic-clock.org.uk/atomuhr.html

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 2019-05-09
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多