当前位置: 首页 > 面试题库 >

Java中的时区

薛保臣
2023-03-14
问题内容

我允许我的Web应用程序上的用户根据他们选择的时区安排事件。

我想向最终用户提供一个很好的时区列表,然后将其轻松转换java.util.TimeZone为服务器端的对象。

String[] TimeZone.getAvailableIds() 是我可以使用的东西,但问题是它可以打印约585个时区ID。

向用户显示时区的简短列表(如Windows框时区设置)并在服务器端使用其ID轻松转换为TimeZone对象的最佳方法是什么?


问题答案:

时区列表取决于应用程序和区域设置。只有您知道哪些区域最适合您的用户。实际上,我们为不同地区提供了不同的列表。

这是我们为美国用户提供的列表,供您参考,

    "Pacific/Midway",
    "US/Hawaii",
    "US/Alaska",
    "US/Pacific",
    "America/Tijuana",
    "US/Arizona",
    "America/Chihuahua",
    "US/Mountain",
    "America/Guatemala",
    "US/Central",
    "America/Mexico_City",
    "Canada/Saskatchewan",
    "America/Bogota",
    "US/Eastern",
    "US/East-Indiana",
    "Canada/Eastern",
    "America/Caracas",
    "America/Manaus",
    "America/Santiago",
    "Canada/Newfoundland",
    "Brazil/East",
    "America/Buenos_Aires",
    "America/Godthab",
    "America/Montevideo",
    "Atlantic/South_Georgia",
    "Atlantic/Azores",
    "Atlantic/Cape_Verde",
    "Africa/Casablanca",
    "Europe/London",
    "Europe/Berlin",
    "Europe/Belgrade",
    "Europe/Brussels",
    "Europe/Warsaw",
    "Africa/Algiers",
    "Asia/Amman",
    "Europe/Athens",
    "Asia/Beirut",
    "Africa/Cairo",
    "Africa/Harare",
    "Europe/Helsinki",
    "Asia/Jerusalem",
    "Europe/Minsk",
    "Africa/Windhoek",
    "Asia/Baghdad",
    "Asia/Kuwait",
    "Europe/Moscow",
    "Africa/Nairobi",
    "Asia/Tbilisi",
    "Asia/Tehran",
    "Asia/Muscat",
    "Asia/Baku",
    "Asia/Yerevan",
    "Asia/Kabul",
    "Asia/Yekaterinburg",
    "Asia/Karachi",
    "Asia/Calcutta",
    "Asia/Colombo",
    "Asia/Katmandu",
    "Asia/Novosibirsk",
    "Asia/Dhaka",
    "Asia/Rangoon",
    "Asia/Bangkok",
    "Asia/Krasnoyarsk",
    "Asia/Hong_Kong",
    "Asia/Irkutsk",
    "Asia/Kuala_Lumpur",
    "Australia/Perth",
    "Asia/Taipei",
    "Asia/Tokyo",
    "Asia/Seoul",
    "Asia/Yakutsk",
    "Australia/Adelaide",
    "Australia/Darwin",
    "Australia/Brisbane",
    "Australia/Sydney",
    "Pacific/Guam",
    "Australia/Hobart",
    "Asia/Vladivostok",
    "Asia/Magadan",
    "Pacific/Auckland",
    "Pacific/Fiji",
    "Pacific/Tongatapu",


 类似资料:
  • 问题内容: 是否有一个Java程序包,其中包含所有烦人的时间常数,例如分钟/小时/天/年中的毫秒/秒/分钟?我讨厌重复这样的事情。 问题答案: Joda-Time包含Days之类的类,其中包含toStandardSeconds()之类的方法。所以你可以这样写: 虽然看起来有些冗长,但可能仅对更复杂的情况(例如leap年)有用。

  • 问题内容: 我有一个应用程序,该应用程序每秒更新一次变量约5到50次,并且我正在寻找某种实时绘制此变化的连续XY图的方法。 尽管不建议使用JFreeChart来获得如此高的更新速率,但是许多用户仍然说它适用于他们。我尝试使用此演示并将其修改为显示随机变量,但似乎一直都在使用100%的CPU。即使我忽略了这一点,我也不希望限于JFreeChart的ui类来构造表单(尽管我不确定其功能到底是什么)。可

  • 问题内容: 时间间隔后如何调用方法?例如,如果要在2秒钟后在屏幕上打印声明,其程序是什么? 问题答案: 答案是一起使用javax.swing.Timer和java.util.Timer: 显然,仅使用java.util.Timer可以达到2秒的打印间隔,但是如果要在一次打印后停止打印,那将很难。 另外,请勿在代码中混用线程,而无需线程即可! 希望这会有所帮助!

  • 问题内容: 在Java类中,我有一个方法,有时需要很长时间才能执行。也许它挂在该方法流程中。我想要的是,如果该方法在特定时间内未完成,则程序应退出该方法,并继续进行其余的流程。 请让我知道有什么方法可以处理这种情况。 问题答案: 您必须使用线程才能实现此目的。线程是无害的:)下面的示例将一段代码运行10秒钟,然后结束它。

  • 问题内容: 我试图在我的EntryPoint中使用Java计时器: 但是当尝试编译时,我得到:没有源代码可用于type ;您忘了继承必需的模块吗? 我该如何解决此错误? 问题答案: 如果您使用的是Libgdx,则可以使用libgdx 基础结构 来计划将来运行的工作: 这样,您可以在独立于平台的代码中安排计时器。(特定于GWT的解决方案仅在项目的平台相关部分中起作用。)

  • 以下是上述应用程序的代码(包括2个类:Main和ClockPanel) 问题是:如果我删除该行(正如我在上面的代码中所评论的那样),时钟将不会运行。我完全不知道为什么会这样。有人能给我解释一下吗?是因为系统。出来println()影响正在运行的线程或其他什么?