gpt4 book ai didi

java - Date.toString 不显示本地时区

转载 作者:行者123 更新时间:2023-12-01 11:41:09 26 4
gpt4 key购买 nike

我有一个网络应用程序。我正在尝试记录特定过程完成的时间。

m_jobResults.addMessage("sum done", new    Date().toString());

我看到 Date.toString() 返回 GMT 时间,而不是本地时区。如果我在同一台机器上编写一个测试java程序,它会显示我本地时区的时间。谁能建议这里出了什么问题。另请注意,java.util.Calendar.getInstance().getTimeZone() 在 Web 应用程序中调试时显示 gmt,其中示例测试代码显示正确的本地时区。

最佳答案

首先你要知道的是:

  • Date 始终基于 UTC。
  • 日期没有“本地实例”。

如果您想拥有本地时区,请使用 DateCalendar和/或TimeZone.getDefault()

使用 TimeZone.getTimeZone("Europe/Madrid") 获取巴塞罗那时区。

如果您想查找您的服务器时区 check here :

final TimeZone timeZone = TimeZone.getDefault();

但也许您的服务器不在您的用户所在的位置...因此要使用服务器的时区获取用户的区域设置:

private String getServerTimeZoneDisplayName()
{
final TimeZone timeZone = TimeZone.getDefault();
final boolean daylight = timeZone.inDaylightTime(new Date());
final Locale locale = servletRequest.getLocale();
return timeZone.getDisplayName(daylight, TimeZone.LONG, locale);
}

关于java - Date.toString 不显示本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com