Java不会生成正确的时区信息

时间:2013-04-05 15:14:08

标签: java timezone

我在Windows机器上运行Java程序。我正在尝试获取时区列表及其相关信息。这是完整的程序:

    String[] allTimeZones = TimeZone.getAvailableIDs();
    Date now = new Date();
    for (int i = 0; i < allTimeZones.length; i++) {
        TimeZone tz = TimeZone.getTimeZone(allTimeZones[i]);
        System.out.format("%s;%s; %f \n", 
                          allTimeZones[i],
                          tz.getDisplayName(), 
                          (float) (tz.getOffset(now.getTime())/3600000.0));
    }

其中一个生成的时区有以下信息:

  

America / New_York;东部标准时间; -4.000000

这令人费解。此时,纽约正处于东夏夏令时。所以上述信息不对。

有谁知道如何让Java生成

  

America / New_York;东部标准时间; -5.000000

或类似的东西

  

America / New_York;东夏夏令时; -4.000000

感谢您的帮助!

此致

2 个答案:

答案 0 :(得分:2)

使用getDisplayName(daylight, style),为true传递daylight。这个'打印:

America/New_York;Eastern Daylight Time; -4.000000

但你必须确定当前时间是否在夏令时间内(或者它总是返回“夏令时”,即使在秋季和冬季)。这应该可以解决问题:

String[] allTimeZones = TimeZone.getAvailableIDs();
Date now = new Date();
for (int i = 0; i < allTimeZones.length; i++) {
    TimeZone tz = TimeZone.getTimeZone(allTimeZones[i]);
    System.out.format("%s;%s; %f \n", allTimeZones[i], 
            tz.getDisplayName(tz.inDaylightTime(now), TimeZone.LONG), 
            (float) (tz.getOffset(now.getTime())/3600000.0));
}

答案 1 :(得分:1)

tl; dr

然后

ZoneId
.of( "America/New_York" )
.getRules()
.isDaylightSavings( 
    ZonedDateTime
    .of(
        LocalDate.of( 2013 , Month.APRIL , 5 ) ,
        LocalTime.of( 15 , 34 ) ,
        ZoneId.of( "America/New_York")
    )
    .toInstant()
)

true

…和…

ZoneId
.of( "America/New_York" )
.getRules()
.getOffset( 
    ZonedDateTime
    .of(
        LocalDate.of( 2013 , Month.APRIL , 5 ) ,
        LocalTime.of( 15 , 34 ) ,
        ZoneId.of( "America/New_York")
    )
    .toInstant()
)

-04:00

现在

ZoneId
.of( "America/New_York" )
.getRules()
.isDaylightSavings( 
    Instant.now()
)

false

…和…

ZoneId
.of( "America/New_York" )
.getRules()
.getOffset( 
    Instant.now()
)

-05:00

请参阅此code run live at IdeOne.com

java.time

现代方法使用了几年前的 java.time 类,该类取代了与最早的Java版本捆绑在一起的可怕的日期时间类。

单个区域

使用ZoneId而不是TimeZone

ZoneId z = ZoneId.of( "America/New_York" ) ;

获取该区域的规则,该特定区域的人们使用的偏移的过去,现在和将来的历史。

ZoneRules rules = z.getRules();

捕获当前时刻。

Instant now = Instant.now();  // Capture the current moment as seen in UTC (an offset of zero hours-minutes-seconds).

在询问当前偏移量和当前夏令时(DST)信息时,我们必须指定一个时刻。

ZoneOffset offset = rules.getOffset( now );
boolean inDST = rules.isDaylightSavings( now );

转储到控制台。

您要求使用-4.000000之类的偏移量。但这不是通常表示偏移量的方式。因此,在这里,我们使用时钟格式的偏移量的小时,分​​钟和秒的通用表示形式,例如-05:00。根据ISO 8601标准,UTC后面为负数,而UTC之前为正数。请注意,相同的协议会相反,因此请始终了解工作中涉及的协议。

System.out.println( "now = " + now );
System.out.println( "offset = " + offset );
System.out.println( "inDST = " + inDST );

运行时。

现在= 2020-02-10T00:21:26.426569Z

偏移= -05:00

inDST = false

让我们看看在该区域的墙上挂着的钟如何显示。我们使用ZonedDateTime来表示在时区中看到的时刻。

ZonedDateTime zdt = now.atZone( z );

zdt = 2020-02-09T19:21:26.426569-05:00 [美国/纽约]

是偏移量指示,该区域的挂钟时间比UTC早五小时。因此,我们有一个小时为19而不是0,日期为9而不是10。相同的时刻,不同的时钟时间。

环绕所有区域

获取Set的时区ID字符串。

Set < String > zoneIds = ZoneId.getAvailableZoneIds();

指定其显示名称的长度。指定用于自动本地化区域名称的Locale

TextStyle style = TextStyle.FULL;
Locale locale = Locale.CANADA_FRENCH;

捕获当前用于确定当前使用的偏移量的力矩。

Instant now = Instant.now() ;  // Capture the current moment as seen in UTC.

循环区域ID字符串,为每个字符串获取ZoneId对象。

System.out.println( "now = " + now );
System.out.println( "" );
System.out.println( "zoneId | localized | offset" );
for ( String zoneId : zoneIds )
{
    ZoneId z = ZoneId.of( zoneId );
    System.out.println( zoneId + " | " + z.getDisplayName( style , locale ) + " | " + z.getRules().getOffset( now ) );
}

这是输出的一部分。由于堆栈溢出中的答案限制为32K,因此被截断了。

now = 2020-02-10T00:09:43.073300Z

zoneId | localized | offset
Asia/Aden | heure de l’Arabie | +03:00
America/Cuiaba | heure de l’Amazonie | -04:00
Etc/GMT+9 | UTC−9:00 | -09:00
Etc/GMT+8 | UTC−8:00 | -08:00
Africa/Nairobi | Heure d'Afrique de l'Est | +03:00
America/Marigot | heure de l’Atlantique | -04:00
Asia/Aqtau | Heure d'Aqtau | +05:00
Pacific/Kwajalein | Heure des Iles Marshall | +12:00
America/El_Salvador | heure du Centre | -06:00
Asia/Pontianak | Heure de l'Indonésie occidentale | +07:00
Africa/Cairo | heure d’Europe de l’Est | +02:00
Pacific/Pago_Pago | heure des Samoa | -11:00
Africa/Mbabane | Afrique du Sud | +02:00
Asia/Kuching | Heure de Malaisie | +08:00
Pacific/Honolulu | heure d’Hawaï-Aléoutiennes | -10:00
Pacific/Rarotonga | heure des îles Cook | -10:00
America/Guatemala | heure du Centre | -06:00
Australia/Hobart | heure de l’Est de l’Australie | +11:00
Europe/London | Heure britannique | Z
America/Belize | heure du Centre | -06:00
America/Panama | heure de l’Est | -05:00
Asia/Chungking | heure de Chine | +08:00
America/Managua | heure du Centre | -06:00
America/Indiana/Petersburg | heure de l’Est | -05:00
Asia/Yerevan | heure de l’Arménie | +04:00
Europe/Brussels | heure d’Europe centrale | +01:00
GMT | Heure de Greenwich | Z
Europe/Warsaw | heure d’Europe centrale | +01:00
America/Chicago | heure du Centre | -06:00
Asia/Kashgar | Chine | +06:00
Chile/Continental | heure du Chili | -03:00
Pacific/Yap | Heure de Chuuk | +10:00
CET | Heure d'Europe centrale | +01:00
Etc/GMT-1 | UTC+1:00 | +01:00
Etc/GMT-0 | heure moyenne de Greenwich | Z
Europe/Jersey | Heure britannique | Z
America/Tegucigalpa | heure du Centre | -06:00
Etc/GMT-5 | UTC+5:00 | +05:00
Europe/Istanbul | Heure d'Europe de l'Est | +03:00
America/Eirunepe | heure de l’Acre | -05:00
Etc/GMT-4 | UTC+4:00 | +04:00
America/Miquelon | heure de Saint-Pierre-et-Miquelon | -03:00
Etc/GMT-3 | UTC+3:00 | +03:00
Europe/Luxembourg | heure d’Europe centrale | +01:00
Etc/GMT-2 | UTC+2:00 | +02:00
Etc/GMT-9 | UTC+9:00 | +09:00
America/Argentina/Catamarca | heure de l’Argentine | -03:00
Etc/GMT-8 | UTC+8:00 | +08:00
Etc/GMT-7 | UTC+7:00 | +07:00
Etc/GMT-6 | UTC+6:00 | +06:00
Europe/Zaporozhye | heure d’Europe de l’Est | +02:00
Canada/Yukon | heure du Pacifique | -08:00
Canada/Atlantic | heure de l’Atlantique | -04:00
Atlantic/St_Helena | Heure de Greenwich | Z
Australia/Tasmania | heure de l’Est de l’Australie | +11:00
Libya | heure d’Europe de l’Est | +02:00
Europe/Guernsey | Heure britannique | Z
America/Grand_Turk | heure de l’Est | -05:00
US/Pacific-New | heure du Pacifique | -08:00
Asia/Samarkand | heure de l’Ouzbékistan | +05:00
America/Argentina/Cordoba | heure de l’Argentine | -03:00
Asia/Phnom_Penh | Heure d'Indochine | +07:00
Africa/Kigali | Heure d'Afrique centrale | +02:00
Asia/Almaty | Heure d'Alma-Ata | +06:00
US/Alaska | heure de l’Alaska | -09:00
Asia/Dubai | Golfe | +04:00
Europe/Isle_of_Man | Heure britannique | Z
America/Araguaina | heure de Brasilia | -03:00
Cuba | heure de Cuba | -05:00
Asia/Novosibirsk | heure de Novossibirsk | +07:00
America/Argentina/Salta | heure de l’Argentine | -03:00
Etc/GMT+3 | UTC−3:00 | -03:00
Africa/Tunis | heure d’Europe centrale | +01:00
Etc/GMT+2 | UTC−2:00 | -02:00
Etc/GMT+1 | UTC−1:00 | -01:00
Pacific/Fakaofo | Heure de Tokelau | +13:00
Africa/Tripoli | heure d’Europe de l’Est | +02:00
Etc/GMT+0 | heure moyenne de Greenwich | Z
Israel | heure d’Israël | +02:00
Africa/Banjul | Heure de Greenwich | Z
Etc/GMT+7 | UTC−7:00 | -07:00
Indian/Comoro | Heure d'Afrique de l'Est | +03:00
Etc/GMT+6 | UTC−6:00 | -06:00
Etc/GMT+5 | UTC−5:00 | -05:00
Etc/GMT+4 | UTC−4:00 | -04:00
Pacific/Port_Moresby | Heure de Papouasie-Nouvelle-Guinée | +10:00
US/Arizona | heure des Rocheuses | -07:00
Antarctica/Syowa | Heure de Syowa | +03:00
Indian/Reunion | Heure de la Réunion | +04:00
Pacific/Palau | Heure de Palaos | +09:00
Europe/Kaliningrad | heure d’Europe de l’Est | +02:00
America/Montevideo | heure de l’Uruguay | -03:00
Africa/Windhoek | Heure d'Afrique centrale | +02:00
Asia/Karachi | heure du Pakistan | +05:00
Africa/Mogadishu | Heure d'Afrique de l'Est | +03:00
Australia/Perth | heure de l’Ouest de l’Australie | +08:00
Brazil/East | heure de Brasilia | -03:00
Etc/GMT | heure moyenne de Greenwich | Z
Asia/Chita | heure de Iakoutsk | +09:00
Pacific/Easter | heure de l’île de Pâques | -05:00
Antarctica/Davis | Heure de Davis | +07:00
Antarctica/McMurdo | heure de la Nouvelle-Zélande | +13:00
Asia/Macao | heure de Chine | +08:00
America/Manaus | heure de l’Amazonie | -04:00
Africa/Freetown | Heure de Greenwich | Z
Europe/Bucharest | heure d’Europe de l’Est | +02:00
Asia/Tomsk | Tomsk Time | +07:00
America/Argentina/Mendoza | heure de l’Argentine | -03:00
Asia/Macau | heure de Chine | +08:00
Europe/Malta | heure d’Europe centrale | +01:00
Mexico/BajaSur | heure du Pacifique mexicain | -07:00
Pacific/Tahiti | Heure de Tahiti | -10:00
Africa/Asmera | Heure d'Afrique de l'Est | +03:00
Europe/Busingen | heure d’Europe centrale | +01:00
America/Argentina/Rio_Gallegos | heure de l’Argentine | -03:00
Africa/Malabo | heure d’Afrique de l’Ouest | +01:00
Europe/Skopje | heure d’Europe centrale | +01:00
America/Catamarca | heure de l’Argentine | -03:00
America/Godthab | heure de l’Ouest du Groenland | -03:00
Europe/Sarajevo | heure d’Europe centrale | +01:00
Australia/ACT | heure de l’Est de l’Australie | +11:00
GB-Eire | Heure britannique | Z
Africa/Lagos | heure d’Afrique de l’Ouest | +01:00
America/Cordoba | heure de l’Argentine | -03:00
Europe/Rome | heure d’Europe centrale | +01:00
Asia/Dacca | heure du Bangladesh | +06:00
Indian/Mauritius | heure de Maurice | +04:00
Pacific/Samoa | heure des Samoa | -11:00
America/Regina | heure du Centre | -06:00
America/Fort_Wayne | heure de l’Est | -05:00
America/Dawson_Creek | heure des Rocheuses | -07:00
Africa/Algiers | heure d’Europe centrale | +01:00
Europe/Mariehamn | heure d’Europe de l’Est | +02:00
America/St_Johns | heure de Terre-Neuve | -03:30
America/St_Thomas | heure de l’Atlantique | -04:00
Europe/Zurich | heure d’Europe centrale | +01:00
America/Anguilla | heure de l’Atlantique | -04:00
Asia/Dili | Heure de Timor-Leste | +09:00
America/Denver | heure des Rocheuses | -07:00
Africa/Bamako | Heure de Greenwich | Z
Europe/Saratov | Saratov Time | +04:00
GB | Heure britannique | Z
Mexico/General | heure du Centre | -06:00
Pacific/Wallis | Heure de Wallis-et-Futuna | +12:00
Europe/Gibraltar | heure d’Europe centrale | +01:00
Africa/Conakry | Heure de Greenwich | Z
Africa/Lubumbashi | Heure d'Afrique centrale | +02:00
Asia/Istanbul | Heure d'Europe de l'Est | +03:00
America/Havana | heure de Cuba | -05:00
NZ-CHAT | heure des îles Chatham | +13:45
Asia/Choibalsan | heure de Choibalsan | +08:00
America/Porto_Acre | heure de l’Acre | -05:00
Asia/Omsk | heure d’Omsk | +06:00
Europe/Vaduz | heure d’Europe centrale | +01:00
US/Michigan | heure de l’Est | -05:00
Asia/Dhaka | heure du Bangladesh | +06:00
America/Barbados | heure de l’Atlantique | -04:00
Europe/Tiraspol | heure d’Europe de l’Est | +02:00
Atlantic/Cape_Verde | heure du Cap-Vert | -01:00
Asia/Yekaterinburg | heure d’Ekaterinbourg | +05:00
America/Louisville | heure de l’Est | -05:00
Pacific/Johnston | heure d’Hawaï-Aléoutiennes | -10:00
Pacific/Chatham | heure des îles Chatham | +13:45
Europe/Ljubljana | heure d’Europe centrale | +01:00
America/Sao_Paulo | heure de Brasilia | -03:00
Asia/Jayapura | Heure d'Indonésie orientale | +09:00
America/Curacao | heure de l’Atlantique | -04:00
Asia/Dushanbe | Heure du Tadjikistan | +05:00
America/Guyana | Heure de Guyana | -04:00
America/Guayaquil | Heure de l'Equateur | -05:00
America/Martinique | heure de l’Atlantique | -04:00
Portugal | heure d’Europe de l’Ouest | Z
Europe/Berlin | heure d’Europe centrale | +01:00
Europe/Moscow | heure de Moscou | +03:00
Europe/Chisinau | heure d’Europe de l’Est | +02:00
America/Puerto_Rico | heure de l’Atlantique | -04:00
America/Rankin_Inlet | heure du Centre | -06:00
Pacific/Ponape | Ponape | +11:00
Europe/Stockholm | heure d’Europe centrale | +01:00
Europe/Budapest | heure d’Europe centrale | +01:00
America/Argentina/Jujuy | heure de l’Argentine | -03:00
Australia/Eucla | heure du centre-ouest de l’Australie | +08:45
Asia/Shanghai | heure de Chine | +08:00
Universal | Temps universel coordonné | Z
Europe/Zagreb | heure d’Europe centrale | +01:00
America/Port_of_Spain | heure de l’Atlantique | -04:00
Europe/Helsinki | heure d’Europe de l’Est | +02:00
Asia/Beirut | heure d’Europe de l’Est | +02:00
Asia/Tel_Aviv | heure d’Israël | +02:00
Pacific/Bougainville | Bougainville Time | +11:00
US/Central | heure du Centre | -06:00
Africa/Sao_Tome | Heure de Greenwich | Z
Indian/Chagos | Heure de l'océan Indien | +06:00
America/Cayenne | Heure de Guyane française | -03:00
Asia/Yakutsk | heure de Iakoutsk | +09:00
Pacific/Galapagos | Heure des Galapagos | -06:00
Australia/North | heure du centre de l’Australie | +09:30
Europe/Paris | heure d’Europe centrale | +01:00
Africa/Ndjamena | heure d’Afrique de l’Ouest | +01:00
Pacific/Fiji | heure des îles Fidji | +12:00
America/Rainy_River | heure du Centre | -06:00
Indian/Maldives | Heure des Maldives | +05:00
Australia/Yancowinna | heure du centre de l’Australie | +10:30
SystemV/AST4 | heure de l’Atlantique | -04:00
Asia/Oral | Heure d'Oral | +05:00
America/Yellowknife | heure des Rocheuses | -07:00
Pacific/Enderbury | Heure de l'Ile de Phoenix | +13:00
America/Juneau | heure de l’Alaska | -09:00
Australia/Victoria | heure de l’Est de l’Australie | +11:00
America/Indiana/Vevay | heure de l’Est | -05:00
Asia/Tashkent | heure de l’Ouzbékistan | +05:00
Asia/Jakarta | Heure de l'Indonésie occidentale | +07:00
Africa/Ceuta | heure d’Europe centrale | +01:00
Asia/Barnaul | Barnaul Time | +07:00
America/Recife | heure de Brasilia | -03:00
America/Buenos_Aires | heure de l’Argentine | -03:00
America/Noronha | heure de Fernando de Noronha | -02:00
America/Swift_Current | heure du Centre | -06:00
Australia/Adelaide | heure du centre de l’Australie | +10:30
America/Metlakatla | heure de l’Alaska | -09:00
Africa/Djibouti | Heure d'Afrique de l'Est | +03:00
America/Paramaribo | Heure du Surinam | -03:00
Asia/Qostanay | Kostanay Time | +06:00
Europe/Simferopol | heure de Moscou | +03:00
Europe/Sofia | heure d’Europe de l’Est | +02:00
Africa/Nouakchott | Heure de Greenwich | Z
Europe/Prague | heure d’Europe centrale | +01:00
America/Indiana/Vincennes | heure de l’Est | -05:00
Antarctica/Mawson | Heure de Mawson | +05:00
America/Kralendijk | heure de l’Atlantique | -04:00
Antarctica/Troll | Troll Time | Z
Europe/Samara | heure de Samara | +04:00
Indian/Christmas | Heure de l'Ile Christmas | +07:00
America/Antigua | heure de l’Atlantique | -04:00
Pacific/Gambier | Heure de Gambi | -09:00
America/Indianapolis | heure de l’Est | -05:00
America/Inuvik | heure des Rocheuses | -07:00
America/Iqaluit | heure de l’Est | -05:00
Pacific/Funafuti | Heure de Tuvalu | +12:00
UTC | Temps universel coordonné | Z
Antarctica/Macquarie | Heure de l'Ile Macquarie | +11:00
Canada/Pacific | heure du Pacifique | -08:00
America/Moncton | heure de l’Atlantique | -04:00
Africa/Gaborone | Heure d'Afrique centrale | +02:00
Pacific/Chuuk | Heure de Chuuk | +10:00
Asia/Pyongyang | heure de la Corée | +09:00
America/St_Vincent | heure de l’Atlantique | -04:00
Asia/Gaza | heure d’Europe de l’Est | +02:00
Etc/Universal | Temps universel coordonné | Z
PST8PDT | heure du Pacifique | -08:00
Atlantic/Faeroe | heure d’Europe de l’Ouest | Z
Asia/Qyzylorda | Heure de Kyzylorda | +05:00
Canada/Newfoundland | heure de Terre-Neuve | -03:30
America/Kentucky/Louisville | heure de l’Est | -05:00
America/Yakutat | heure de l’Alaska | -09:00
Asia/Ho_Chi_Minh | Heure d'Indochine | +07:00
Antarctica/Casey | heure de l’Ouest de l’Australie | +08:00
Europe/Copenhagen | heure d’Europe centrale | +01:00
Africa/Asmara | Heure d'Afrique de l'Est | +03:00
Atlantic/Azores | heure des Açores | -01:00
Europe/Vienna | heure d’Europe centrale | +01:00
ROK | heure de la Corée | +09:00
Pacific/Pitcairn | Pitcairn | -08:00
America/Mazatlan | heure du Pacifique mexicain | -07:00
Australia/Queensland | heure de l’Est de l’Australie | +10:00
Pacific/Nauru | Heure de Nauru | +12:00
Europe/Tirane | heure d’Europe centrale | +01:00
Asia/Kolkata | Inde | +05:30
SystemV/MST7 | heure des Rocheuses | -07:00
Australia/Canberra | heure de l’Est de l’Australie | +11:00
MET | MET | +01:00
Australia/Broken_Hill | heure du centre de l’Australie | +10:30
Europe/Riga | heure d’Europe de l’Est | +02:00
America/Dominica | heure de l’Atlantique | -04:00
Africa/Abidjan | Heure de Greenwich | Z
America/Mendoza | heure de l’Argentine | -03:00
America/Santarem | heure de Brasilia | -03:00
Kwajalein | Heure des Iles Marshall | +12:00
America/Asuncion | heure du Paraguay | -03:00
Asia/Ulan_Bator | heure d’Oulan-Bator | +08:00
NZ | heure de la Nouvelle-Zélande | +13:00
America/Boise | heure des Rocheuses | -07:00
Australia/Currie | heure de l’Est de l’Australie | +11:00
EST5EDT | heure de l’Est | -05:00
Pacific/Guam | Chamorro | +10:00
Pacific/Wake | Heure de Wake | +12:00
Atlantic/Bermuda | heure de l’Atlantique | -04:00
America/Costa_Rica | heure du Centre | -06:00
America/Dawson | heure du Pacifique | -08:00
Asia/Chongqing | heure de Chine | +08:00
Eire | Heure irlandaise | Z
Europe/Amsterdam | heure d’Europe centrale | +01:00
America/Indiana/Knox | heure du Centre | -06:00
America/North_Dakota/Beulah | heure du Centre | -06:00
Africa/Accra | Heure du Ghana | Z
Atlantic/Faroe | heure d’Europe de l’Ouest | Z
Mexico/BajaNorte | heure du Pacifique | -08:00
America/Maceio | heure de Brasilia | -03:00
Etc/UCT | Temps universel coordonné | Z
Pacific/Apia | heure d’Apia | +14:00
GMT0 | heure moyenne de Greenwich | Z
America/Atka | heure d’Hawaï-Aléoutiennes | -10:00
Pacific/Niue | Heure de Niue | -11:00
Australia/Lord_Howe | heure de Lord Howe | +11:00
Europe/Dublin | Heure irlandaise | Z
Pacific/Truk | Heure de Chuuk | +10:00
MST7MDT | heure des Rocheuses | -07:00
America/Monterrey | heure du Centre | -06:00
America/Nassau | heure de l’Est | -05:00
America/Jamaica | heure de l’Est | -05:00
Asia/Bishkek | Heure du Kirghizistan | +06:00
America/Atikokan | heure de l’Est | -05:00
Atlantic/Stanley | heure des îles Malouines | -03:00
Australia/NSW | heure de l’Est de l’Australie | +11:00
US/Hawaii | heure d’Hawaï-Aléoutiennes | -10:00
SystemV/CST6 | heure du Centre | -06:00
Indian/Mahe | Heure des Seychelles | +04:00
Asia/Aqtobe | Heure d'Aqtobe | +05:00
America/Sitka | heure de l’Alaska | -09:00
Asia/Vladivostok | heure de Vladivostok | +10:00
Africa/Libreville | heure d’Afrique de l’Ouest | +01:00
Africa/Maputo | Heure d'Afrique centrale | +02:00
Zulu | Temps universel coordonné | Z
America/Kentucky/Monticello | heure de l’Est | -05:00
Africa/El_Aaiun | Heure d'Europe de l'Ouest | +01:00
Africa/Ouagadougou | Heure de Greenwich | Z
America/Coral_Harbour | heure de l’Est | -05:00
Pacific/Marquesas | Heure des Marquises | -09:30
Brazil/West | heure de l’Amazonie | -04:00
America/Aruba | heure de l’Atlantique | -04:00
America/North_Dakota/Center | heure du Centre | -06:00
America/Cayman | heure de l’Est | -05:00
Asia/Ulaanbaatar | heure d’Oulan-Bator | +08:00
Asia/Baghdad | heure de l’Arabie | +03:00
Europe/San_Marino | heure d’Europe centrale | +01:00
America/Indiana/Tell_City | heure du Centre | -06:00
America/Tijuana | heure du Pacifique | -08:00
Pacific/Saipan | Chamorro | +10:00
SystemV/YST9 | Alaska | -09:00
Africa/Douala | heure d’Afrique de l’Ouest | +01:00
America/Chihuahua | heure du Pacifique mexicain | -07:00
America/Ojinaga | heure des Rocheuses | -07:00
Asia/Hovd | heure de Hovd | +07:00
America/Anchorage | heure de l’Alaska | -09:00
Chile/EasterIsland | heure de l’île de Pâques | -05:00
America/Halifax | heure de l’Atlantique | -04:00
Antarctica/Rothera | Heure de Rothera | -03:00
America/Indiana/Indianapolis | heure de l’Est | -05:00
US/Mountain | heure des Rocheuses | -07:00
Asia/Damascus | heure d’Europe de l’Est | +02:00
America/Argentina/San_Luis | heure de l’Ouest argentin | -03:00
America/Santiago | heure du Chili | -03:00
Asia/Baku | heure de l’Azerbaïdjan | +04:00
America/Argentina/Ushuaia | heure de l’Argentine | -03:00
Atlantic/Reykjavik | Heure de Greenwich | Z
Africa/Brazzaville | heure d’Afrique de l’Ouest | +01:00
Africa/Porto-Novo | heure d’Afrique de l’Ouest | +01:00
America/La_Paz | Heure de Bolivie | -04:00
Antarctica/DumontDUrville | Heure de Dumont-d'Urville | +10:00
Asia/Taipei | heure de Taipei | +08:00
Antarctica/South_Pole | heure de la Nouvelle-Zélande | +13:00
Asia/Manila | heure des Philippines | +08:00
Asia/Bangkok | Heure d'Indochine | +07:00
Africa/Dar_es_Salaam | Heure d'Afrique de l'Est | +03:00
Poland | heure d’Europe centrale | +01:00
Atlantic/Madeira | heure d’Europe de l’Ouest | Z
Antarctica/Palmer | Heure du Chili | -03:00
America/Thunder_Bay | heure de l’Est | -05:00
Africa/Addis_Ababa | Heure d'Afrique de l'Est | +03:00
Asia/Yangon | Heure de Myanmar | +06:30
Europe/Uzhgorod | heure d’Europe de l’Est | +02:00
Brazil/DeNoronha | heure de Fernando de Noronha | -02:00
Asia/Ashkhabad | heure du Turkménistan | +05:00
Etc/Zulu | Temps universel coordonné | Z
America/Indiana/Marengo | heure de l’Est | -05:00
America/Creston | heure des Rocheuses | -07:00
America/Punta_Arenas | Punta Arenas Time | -03:00
America/Mexico_City | heure du Centre | -06:00
Antarctica/Vostok | Heure de Vostok | +06:00
Asia/Jerusalem | heure d’Israël | +02:00
Europe/Andorra | heure d’Europe centrale | +01:00
US/Samoa | heure des Samoa | -11:00
PRC | heure de Chine | +08:00
Asia/Vientiane | Heure d'Indochine | +07:00
Pacific/Kiritimati | Heure de l'Ile de Line | +14:00
America/Matamoros | heure du Centre | -06:00
America/Blanc-Sablon | heure de l’Atlantique | -04:00
Asia/Riyadh | heure de l’Arabie | +03:00
Iceland | Heure de Greenwich | Z
Pacific/Pohnpei | Ponape | +11:00
Asia/Ujung_Pandang | Heure d'Indonésie centrale | +08:00
Atlantic/South_Georgia | Géorgie du Sud | -02:00
Europe/Lisbon | heure d’Europe de l’Ouest | Z
Asia/Harbin | heure de Chine | +08:00
Europe/Oslo | heure d’Europe centrale | +01:00
Asia/Novokuznetsk | heure de Krasnoïarsk | +07:00
CST6CDT | heure du Centre | -06:00
Atlantic/Canary | heure d’Europe de l’Ouest | Z
America/Knox_IN | heure du Centre | -06:00
Asia/Kuwait | heure de l’Arabie | +03:00
SystemV/HST10 | heure d’Hawaï-Aléoutiennes | -10:00
Pacific/Efate | heure du Vanuatu | +11:00
Africa/Lome | Heure de Greenwich | Z
America/Bogota | heure de Colombie | -05:00
America/Menominee | heure du Centre | -06:00
America/Adak | heure d’Hawaï-Aléoutiennes | -10:00
Pacific/Norfolk | Heure de Norfolk | +11:00
Europe/Kirov | Kirov Time | +03:00
America/Resolute | heure du Centre | -06:00
Pacific/Tarawa | Heure de Kiribati | +12:00
Africa/Kampala | Heure d'Afrique de l'Est | +03:00
Asia/Krasnoyarsk | heure de Krasnoïarsk | +07:00
Greenwich | Heure de Greenwich | Z
SystemV/EST5 | heure de l’Est | -05:00
America/Edmonton | heure des Rocheuses | -07:00
Europe/Podgorica | heure d’Europe centrale | +01:00
Australia/South | heure du centre de l’Australie | +10:30
Canada/Central | heure du Centre | -06:00
Africa/Bujumbura | Heure d'Afrique centrale | +02:00
America/Santo_Domingo | heure de l’Atlantique | -04:00
US/Eastern | heure de l’Est | -05:00
Europe/Minsk | heure de Moscou | +03:00
Pacific/Auckland | heure de la Nouvelle-Zélande | +13:00
Africa/Casablanca | Heure d'Europe de l'Ouest | +01:00
…

关于 java.time

java.time框架已内置在Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.DateCalendarSimpleDateFormat

要了解更多信息,请参阅Oracle Tutorial。并在Stack Overflow中搜索许多示例和说明。规范为JSR 310

Joda-Time项目(现在位于maintenance mode中)建议迁移到java.time类。

您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*类。

在哪里获取java.time类?

ThreeTen-Extra项目使用其他类扩展了java.time。该项目为将来可能在java.time中添加内容打下了基础。您可能会在这里找到一些有用的类,例如IntervalYearWeekYearQuartermore