Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >java中如何处理夏令时?

java中如何处理夏令时?

作者头像
菩提树下的杨过
发布于 2022-11-18 08:00:42
发布于 2022-11-18 08:00:42
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

在国际化的项目中,处理时间时经常会遇到夏令时(BST,British Summer Time)问题,发明夏令时(以及冬令时)主要是为了省电。

冷知识:中国历史上也曾经采用过(1986-1991)夏令时,后来因为各种原因,最终取消了这一制度(参见:https://baijiahao.baidu.com/s?id=1700703328355099602&wfr=spider&for=pc

但欧美国家仍在广泛使用,以2022年为例:根据网上找到的资料

http://www.timeofdate.com/city/United%20Kingdom/London/timezone/change

伦敦 在2022-03-27 ~ 2002-10-30 为夏令时期间。

java中如何知道某个地区,在某个时间点是否处于夏令时呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 夏令时测试(by菩提树下的杨过)
 */
@Test
public void testTimeZone() {
    LocalTime time = LocalTime.of(10, 20);
    ZoneId zoneId = ZoneId.of("Europe/London");

    // A summer date-time
    ZonedDateTime zdtSummer = ZonedDateTime.of(LocalDate.of(2022, 10, 15), time, zoneId);
    System.out.println(zdtSummer);

    // A winter date-time
    ZonedDateTime zdtWinter = ZonedDateTime.of(LocalDate.of(2022, 11, 15), time, zoneId);
    System.out.println(zdtWinter);
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2022-10-15T10:20+01:00[Europe/London]
2022-11-15T10:20Z     [Europe/London]

即:2022-10-15 10:20:00 这个时间,对于London来说,时区的offset为+1,即向前拨快了1小时(夏令时)

而2022-11-15 10:20:00 这个时间,London的时区offset为Z(即Zero 零),即没有向前调整(不是夏令时)

通过这个测试,可以看到JDK里已经自带了夏令时的判断。

那么问题来了,ZoneId在构建时,要传入“Europe/London”这样的地区标识,JDK里支持多少种这类地区标识呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 输出全球所有时区(by菩提树下的杨过)
 */
@Test
public void getAvailableZoneIds() {
    Calendar c = Calendar.getInstance();
    System.out.println("year:" + c.get(Calendar.YEAR) + ",month:" + (c.get(Calendar.MONTH) + 1) + ",day:" + c.get(Calendar.DAY_OF_MONTH) + "\n");
    TreeMap<String, String> result = new TreeMap<>();
    //遍历所有ZoneId,并以今天9点时刻做为依赖,打印出每个ZoneId对应的时区
    for (String strZoneId : ZoneId.getAvailableZoneIds()) {
        LocalTime time = LocalTime.of(9, 0);
        ZoneId zoneId = ZoneId.of(strZoneId);
        ZonedDateTime zonedDateTime = ZonedDateTime.of(LocalDate.of(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH)), time, zoneId);
        String offSet = zonedDateTime.getOffset().toString().split(":")[0];
        if ("Z".equalsIgnoreCase(offSet)) {
            offSet = "+0";
        } else {
            int temp = Integer.valueOf(offSet);
            if (temp > 0) {
                offSet = "+" + temp;
            } else {
                offSet = "" + temp;
            }
        }
        result.put(strZoneId, "GMT" + offSet);
    }
    for (Map.Entry<String, String> entry : result.entrySet()) {
        System.out.println(entry.getValue() + "\t" + entry.getKey());
    }
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
year:2022,month:11,day:13

GMT+0	Africa/Abidjan
GMT+0	Africa/Accra
GMT+3	Africa/Addis_Ababa
GMT+1	Africa/Algiers
GMT+3	Africa/Asmara
GMT+3	Africa/Asmera
GMT+0	Africa/Bamako
GMT+1	Africa/Bangui
GMT+0	Africa/Banjul
GMT+0	Africa/Bissau
GMT+2	Africa/Blantyre
GMT+1	Africa/Brazzaville
GMT+2	Africa/Bujumbura
GMT+2	Africa/Cairo
GMT+1	Africa/Casablanca
GMT+1	Africa/Ceuta
GMT+0	Africa/Conakry
GMT+0	Africa/Dakar
GMT+3	Africa/Dar_es_Salaam
GMT+3	Africa/Djibouti
GMT+1	Africa/Douala
GMT+1	Africa/El_Aaiun
GMT+0	Africa/Freetown
GMT+2	Africa/Gaborone
GMT+2	Africa/Harare
GMT+2	Africa/Johannesburg
GMT+3	Africa/Juba
GMT+3	Africa/Kampala
GMT+2	Africa/Khartoum
GMT+2	Africa/Kigali
GMT+1	Africa/Kinshasa
GMT+1	Africa/Lagos
GMT+1	Africa/Libreville
GMT+0	Africa/Lome
GMT+1	Africa/Luanda
GMT+2	Africa/Lubumbashi
GMT+2	Africa/Lusaka
GMT+1	Africa/Malabo
GMT+2	Africa/Maputo
GMT+2	Africa/Maseru
GMT+2	Africa/Mbabane
GMT+3	Africa/Mogadishu
GMT+0	Africa/Monrovia
GMT+3	Africa/Nairobi
GMT+1	Africa/Ndjamena
GMT+1	Africa/Niamey
GMT+0	Africa/Nouakchott
GMT+0	Africa/Ouagadougou
GMT+1	Africa/Porto-Novo
GMT+1	Africa/Sao_Tome
GMT+0	Africa/Timbuktu
GMT+2	Africa/Tripoli
GMT+1	Africa/Tunis
GMT+2	Africa/Windhoek
GMT-10	America/Adak
GMT-9	America/Anchorage
GMT-4	America/Anguilla
GMT-4	America/Antigua
GMT-3	America/Araguaina
GMT-3	America/Argentina/Buenos_Aires
GMT-3	America/Argentina/Catamarca
GMT-3	America/Argentina/ComodRivadavia
GMT-3	America/Argentina/Cordoba
GMT-3	America/Argentina/Jujuy
GMT-3	America/Argentina/La_Rioja
GMT-3	America/Argentina/Mendoza
GMT-3	America/Argentina/Rio_Gallegos
GMT-3	America/Argentina/Salta
GMT-3	America/Argentina/San_Juan
GMT-3	America/Argentina/San_Luis
GMT-3	America/Argentina/Tucuman
GMT-3	America/Argentina/Ushuaia
GMT-4	America/Aruba
GMT-3	America/Asuncion
GMT-5	America/Atikokan
GMT-10	America/Atka
GMT-3	America/Bahia
GMT-6	America/Bahia_Banderas
GMT-4	America/Barbados
GMT-3	America/Belem
GMT-6	America/Belize
GMT-4	America/Blanc-Sablon
GMT-4	America/Boa_Vista
GMT-5	America/Bogota
GMT-7	America/Boise
GMT-3	America/Buenos_Aires
GMT-7	America/Cambridge_Bay
GMT-3	America/Campo_Grande
GMT-5	America/Cancun
GMT-4	America/Caracas
GMT-3	America/Catamarca
GMT-3	America/Cayenne
GMT-5	America/Cayman
GMT-6	America/Chicago
GMT-7	America/Chihuahua
GMT-5	America/Coral_Harbour
GMT-3	America/Cordoba
GMT-6	America/Costa_Rica
GMT-7	America/Creston
GMT-3	America/Cuiaba
GMT-4	America/Curacao
GMT+0	America/Danmarkshavn
GMT-8	America/Dawson
GMT-7	America/Dawson_Creek
GMT-7	America/Denver
GMT-5	America/Detroit
GMT-4	America/Dominica
GMT-7	America/Edmonton
GMT-5	America/Eirunepe
GMT-6	America/El_Salvador
GMT-8	America/Ensenada
GMT-7	America/Fort_Nelson
GMT-5	America/Fort_Wayne
GMT-3	America/Fortaleza
GMT-4	America/Glace_Bay
GMT-3	America/Godthab
GMT-4	America/Goose_Bay
GMT-5	America/Grand_Turk
GMT-4	America/Grenada
GMT-4	America/Guadeloupe
GMT-6	America/Guatemala
GMT-5	America/Guayaquil
GMT-4	America/Guyana
GMT-4	America/Halifax
GMT-5	America/Havana
GMT-7	America/Hermosillo
GMT-5	America/Indiana/Indianapolis
GMT-6	America/Indiana/Knox
GMT-5	America/Indiana/Marengo
GMT-5	America/Indiana/Petersburg
GMT-6	America/Indiana/Tell_City
GMT-5	America/Indiana/Vevay
GMT-5	America/Indiana/Vincennes
GMT-5	America/Indiana/Winamac
GMT-5	America/Indianapolis
GMT-7	America/Inuvik
GMT-5	America/Iqaluit
GMT-5	America/Jamaica
GMT-3	America/Jujuy
GMT-9	America/Juneau
GMT-5	America/Kentucky/Louisville
GMT-5	America/Kentucky/Monticello
GMT-6	America/Knox_IN
GMT-4	America/Kralendijk
GMT-4	America/La_Paz
GMT-5	America/Lima
GMT-8	America/Los_Angeles
GMT-5	America/Louisville
GMT-4	America/Lower_Princes
GMT-3	America/Maceio
GMT-6	America/Managua
GMT-4	America/Manaus
GMT-4	America/Marigot
GMT-4	America/Martinique
GMT-6	America/Matamoros
GMT-7	America/Mazatlan
GMT-3	America/Mendoza
GMT-6	America/Menominee
GMT-6	America/Merida
GMT-9	America/Metlakatla
GMT-6	America/Mexico_City
GMT-3	America/Miquelon
GMT-4	America/Moncton
GMT-6	America/Monterrey
GMT-3	America/Montevideo
GMT-5	America/Montreal
GMT-4	America/Montserrat
GMT-5	America/Nassau
GMT-5	America/New_York
GMT-5	America/Nipigon
GMT-9	America/Nome
GMT-2	America/Noronha
GMT-6	America/North_Dakota/Beulah
GMT-6	America/North_Dakota/Center
GMT-6	America/North_Dakota/New_Salem
GMT-7	America/Ojinaga
GMT-5	America/Panama
GMT-5	America/Pangnirtung
GMT-3	America/Paramaribo
GMT-7	America/Phoenix
GMT-5	America/Port-au-Prince
GMT-4	America/Port_of_Spain
GMT-5	America/Porto_Acre
GMT-4	America/Porto_Velho
GMT-4	America/Puerto_Rico
GMT-3	America/Punta_Arenas
GMT-6	America/Rainy_River
GMT-6	America/Rankin_Inlet
GMT-3	America/Recife
GMT-6	America/Regina
GMT-6	America/Resolute
GMT-5	America/Rio_Branco
GMT-3	America/Rosario
GMT-8	America/Santa_Isabel
GMT-3	America/Santarem
GMT-3	America/Santiago
GMT-4	America/Santo_Domingo
GMT-2	America/Sao_Paulo
GMT-1	America/Scoresbysund
GMT-7	America/Shiprock
GMT-9	America/Sitka
GMT-4	America/St_Barthelemy
GMT-3	America/St_Johns
GMT-4	America/St_Kitts
GMT-4	America/St_Lucia
GMT-4	America/St_Thomas
GMT-4	America/St_Vincent
GMT-6	America/Swift_Current
GMT-6	America/Tegucigalpa
GMT-4	America/Thule
GMT-5	America/Thunder_Bay
GMT-8	America/Tijuana
GMT-5	America/Toronto
GMT-4	America/Tortola
GMT-8	America/Vancouver
GMT-4	America/Virgin
GMT-8	America/Whitehorse
GMT-6	America/Winnipeg
GMT-9	America/Yakutat
GMT-7	America/Yellowknife
GMT+8	Antarctica/Casey
GMT+7	Antarctica/Davis
GMT+10	Antarctica/DumontDUrville
GMT+11	Antarctica/Macquarie
GMT+5	Antarctica/Mawson
GMT+13	Antarctica/McMurdo
GMT-3	Antarctica/Palmer
GMT-3	Antarctica/Rothera
GMT+13	Antarctica/South_Pole
GMT+3	Antarctica/Syowa
GMT+0	Antarctica/Troll
GMT+6	Antarctica/Vostok
GMT+1	Arctic/Longyearbyen
GMT+3	Asia/Aden
GMT+6	Asia/Almaty
GMT+2	Asia/Amman
GMT+12	Asia/Anadyr
GMT+5	Asia/Aqtau
GMT+5	Asia/Aqtobe
GMT+5	Asia/Ashgabat
GMT+5	Asia/Ashkhabad
GMT+5	Asia/Atyrau
GMT+3	Asia/Baghdad
GMT+3	Asia/Bahrain
GMT+4	Asia/Baku
GMT+7	Asia/Bangkok
GMT+7	Asia/Barnaul
GMT+2	Asia/Beirut
GMT+6	Asia/Bishkek
GMT+8	Asia/Brunei
GMT+5	Asia/Calcutta
GMT+9	Asia/Chita
GMT+8	Asia/Choibalsan
GMT+8	Asia/Chongqing
GMT+8	Asia/Chungking
GMT+5	Asia/Colombo
GMT+6	Asia/Dacca
GMT+2	Asia/Damascus
GMT+6	Asia/Dhaka
GMT+9	Asia/Dili
GMT+4	Asia/Dubai
GMT+5	Asia/Dushanbe
GMT+2	Asia/Famagusta
GMT+2	Asia/Gaza
GMT+8	Asia/Harbin
GMT+2	Asia/Hebron
GMT+7	Asia/Ho_Chi_Minh
GMT+8	Asia/Hong_Kong
GMT+7	Asia/Hovd
GMT+8	Asia/Irkutsk
GMT+3	Asia/Istanbul
GMT+7	Asia/Jakarta
GMT+9	Asia/Jayapura
GMT+2	Asia/Jerusalem
GMT+4	Asia/Kabul
GMT+12	Asia/Kamchatka
GMT+5	Asia/Karachi
GMT+6	Asia/Kashgar
GMT+5	Asia/Kathmandu
GMT+5	Asia/Katmandu
GMT+9	Asia/Khandyga
GMT+5	Asia/Kolkata
GMT+7	Asia/Krasnoyarsk
GMT+8	Asia/Kuala_Lumpur
GMT+8	Asia/Kuching
GMT+3	Asia/Kuwait
GMT+8	Asia/Macao
GMT+8	Asia/Macau
GMT+11	Asia/Magadan
GMT+8	Asia/Makassar
GMT+8	Asia/Manila
GMT+4	Asia/Muscat
GMT+2	Asia/Nicosia
GMT+7	Asia/Novokuznetsk
GMT+7	Asia/Novosibirsk
GMT+6	Asia/Omsk
GMT+5	Asia/Oral
GMT+7	Asia/Phnom_Penh
GMT+7	Asia/Pontianak
GMT+9	Asia/Pyongyang
GMT+3	Asia/Qatar
GMT+6	Asia/Qyzylorda
GMT+6	Asia/Rangoon
GMT+3	Asia/Riyadh
GMT+7	Asia/Saigon
GMT+11	Asia/Sakhalin
GMT+5	Asia/Samarkand
GMT+9	Asia/Seoul
GMT+8	Asia/Shanghai
GMT+8	Asia/Singapore
GMT+11	Asia/Srednekolymsk
GMT+8	Asia/Taipei
GMT+5	Asia/Tashkent
GMT+4	Asia/Tbilisi
GMT+3	Asia/Tehran
GMT+2	Asia/Tel_Aviv
GMT+6	Asia/Thimbu
GMT+6	Asia/Thimphu
GMT+9	Asia/Tokyo
GMT+7	Asia/Tomsk
GMT+8	Asia/Ujung_Pandang
GMT+8	Asia/Ulaanbaatar
GMT+8	Asia/Ulan_Bator
GMT+6	Asia/Urumqi
GMT+10	Asia/Ust-Nera
GMT+7	Asia/Vientiane
GMT+10	Asia/Vladivostok
GMT+9	Asia/Yakutsk
GMT+6	Asia/Yangon
GMT+5	Asia/Yekaterinburg
GMT+4	Asia/Yerevan
GMT-1	Atlantic/Azores
GMT-4	Atlantic/Bermuda
GMT+0	Atlantic/Canary
GMT-1	Atlantic/Cape_Verde
GMT+0	Atlantic/Faeroe
GMT+0	Atlantic/Faroe
GMT+1	Atlantic/Jan_Mayen
GMT+0	Atlantic/Madeira
GMT+0	Atlantic/Reykjavik
GMT-2	Atlantic/South_Georgia
GMT+0	Atlantic/St_Helena
GMT-3	Atlantic/Stanley
GMT+11	Australia/ACT
GMT+10	Australia/Adelaide
GMT+10	Australia/Brisbane
GMT+10	Australia/Broken_Hill
GMT+11	Australia/Canberra
GMT+11	Australia/Currie
GMT+9	Australia/Darwin
GMT+8	Australia/Eucla
GMT+11	Australia/Hobart
GMT+11	Australia/LHI
GMT+10	Australia/Lindeman
GMT+11	Australia/Lord_Howe
GMT+11	Australia/Melbourne
GMT+11	Australia/NSW
GMT+9	Australia/North
GMT+8	Australia/Perth
GMT+10	Australia/Queensland
GMT+10	Australia/South
GMT+11	Australia/Sydney
GMT+11	Australia/Tasmania
GMT+11	Australia/Victoria
GMT+8	Australia/West
GMT+10	Australia/Yancowinna
GMT-5	Brazil/Acre
GMT-2	Brazil/DeNoronha
GMT-2	Brazil/East
GMT-4	Brazil/West
GMT+1	CET
GMT-6	CST6CDT
GMT-4	Canada/Atlantic
GMT-6	Canada/Central
GMT-5	Canada/Eastern
GMT-7	Canada/Mountain
GMT-3	Canada/Newfoundland
GMT-8	Canada/Pacific
GMT-6	Canada/Saskatchewan
GMT-8	Canada/Yukon
GMT-3	Chile/Continental
GMT-5	Chile/EasterIsland
GMT-5	Cuba
GMT+2	EET
GMT-5	EST5EDT
GMT+2	Egypt
GMT+0	Eire
GMT+0	Etc/GMT
GMT+0	Etc/GMT+0
GMT-1	Etc/GMT+1
GMT-10	Etc/GMT+10
GMT-11	Etc/GMT+11
GMT-12	Etc/GMT+12
GMT-2	Etc/GMT+2
GMT-3	Etc/GMT+3
GMT-4	Etc/GMT+4
GMT-5	Etc/GMT+5
GMT-6	Etc/GMT+6
GMT-7	Etc/GMT+7
GMT-8	Etc/GMT+8
GMT-9	Etc/GMT+9
GMT+0	Etc/GMT-0
GMT+1	Etc/GMT-1
GMT+10	Etc/GMT-10
GMT+11	Etc/GMT-11
GMT+12	Etc/GMT-12
GMT+13	Etc/GMT-13
GMT+14	Etc/GMT-14
GMT+2	Etc/GMT-2
GMT+3	Etc/GMT-3
GMT+4	Etc/GMT-4
GMT+5	Etc/GMT-5
GMT+6	Etc/GMT-6
GMT+7	Etc/GMT-7
GMT+8	Etc/GMT-8
GMT+9	Etc/GMT-9
GMT+0	Etc/GMT0
GMT+0	Etc/Greenwich
GMT+0	Etc/UCT
GMT+0	Etc/UTC
GMT+0	Etc/Universal
GMT+0	Etc/Zulu
GMT+1	Europe/Amsterdam
GMT+1	Europe/Andorra
GMT+4	Europe/Astrakhan
GMT+2	Europe/Athens
GMT+0	Europe/Belfast
GMT+1	Europe/Belgrade
GMT+1	Europe/Berlin
GMT+1	Europe/Bratislava
GMT+1	Europe/Brussels
GMT+2	Europe/Bucharest
GMT+1	Europe/Budapest
GMT+1	Europe/Busingen
GMT+2	Europe/Chisinau
GMT+1	Europe/Copenhagen
GMT+0	Europe/Dublin
GMT+1	Europe/Gibraltar
GMT+0	Europe/Guernsey
GMT+2	Europe/Helsinki
GMT+0	Europe/Isle_of_Man
GMT+3	Europe/Istanbul
GMT+0	Europe/Jersey
GMT+2	Europe/Kaliningrad
GMT+2	Europe/Kiev
GMT+3	Europe/Kirov
GMT+0	Europe/Lisbon
GMT+1	Europe/Ljubljana
GMT+0	Europe/London
GMT+1	Europe/Luxembourg
GMT+1	Europe/Madrid
GMT+1	Europe/Malta
GMT+2	Europe/Mariehamn
GMT+3	Europe/Minsk
GMT+1	Europe/Monaco
GMT+3	Europe/Moscow
GMT+2	Europe/Nicosia
GMT+1	Europe/Oslo
GMT+1	Europe/Paris
GMT+1	Europe/Podgorica
GMT+1	Europe/Prague
GMT+2	Europe/Riga
GMT+1	Europe/Rome
GMT+4	Europe/Samara
GMT+1	Europe/San_Marino
GMT+1	Europe/Sarajevo
GMT+4	Europe/Saratov
GMT+3	Europe/Simferopol
GMT+1	Europe/Skopje
GMT+2	Europe/Sofia
GMT+1	Europe/Stockholm
GMT+2	Europe/Tallinn
GMT+1	Europe/Tirane
GMT+2	Europe/Tiraspol
GMT+4	Europe/Ulyanovsk
GMT+2	Europe/Uzhgorod
GMT+1	Europe/Vaduz
GMT+1	Europe/Vatican
GMT+1	Europe/Vienna
GMT+2	Europe/Vilnius
GMT+4	Europe/Volgograd
GMT+1	Europe/Warsaw
GMT+1	Europe/Zagreb
GMT+2	Europe/Zaporozhye
GMT+1	Europe/Zurich
GMT+0	GB
GMT+0	GB-Eire
GMT+0	GMT
GMT+0	GMT0
GMT+0	Greenwich
GMT+8	Hongkong
GMT+0	Iceland
GMT+3	Indian/Antananarivo
GMT+6	Indian/Chagos
GMT+7	Indian/Christmas
GMT+6	Indian/Cocos
GMT+3	Indian/Comoro
GMT+5	Indian/Kerguelen
GMT+4	Indian/Mahe
GMT+5	Indian/Maldives
GMT+4	Indian/Mauritius
GMT+3	Indian/Mayotte
GMT+4	Indian/Reunion
GMT+3	Iran
GMT+2	Israel
GMT-5	Jamaica
GMT+9	Japan
GMT+12	Kwajalein
GMT+2	Libya
GMT+1	MET
GMT-7	MST7MDT
GMT-8	Mexico/BajaNorte
GMT-7	Mexico/BajaSur
GMT-6	Mexico/General
GMT+13	NZ
GMT+13	NZ-CHAT
GMT-7	Navajo
GMT+8	PRC
GMT-8	PST8PDT
GMT+14	Pacific/Apia
GMT+13	Pacific/Auckland
GMT+11	Pacific/Bougainville
GMT+13	Pacific/Chatham
GMT+10	Pacific/Chuuk
GMT-5	Pacific/Easter
GMT+11	Pacific/Efate
GMT+13	Pacific/Enderbury
GMT+13	Pacific/Fakaofo
GMT+13	Pacific/Fiji
GMT+12	Pacific/Funafuti
GMT-6	Pacific/Galapagos
GMT-9	Pacific/Gambier
GMT+11	Pacific/Guadalcanal
GMT+10	Pacific/Guam
GMT-10	Pacific/Honolulu
GMT-10	Pacific/Johnston
GMT+14	Pacific/Kiritimati
GMT+11	Pacific/Kosrae
GMT+12	Pacific/Kwajalein
GMT+12	Pacific/Majuro
GMT-9	Pacific/Marquesas
GMT-11	Pacific/Midway
GMT+12	Pacific/Nauru
GMT-11	Pacific/Niue
GMT+11	Pacific/Norfolk
GMT+11	Pacific/Noumea
GMT-11	Pacific/Pago_Pago
GMT+9	Pacific/Palau
GMT-8	Pacific/Pitcairn
GMT+11	Pacific/Pohnpei
GMT+11	Pacific/Ponape
GMT+10	Pacific/Port_Moresby
GMT-10	Pacific/Rarotonga
GMT+10	Pacific/Saipan
GMT-11	Pacific/Samoa
GMT-10	Pacific/Tahiti
GMT+12	Pacific/Tarawa
GMT+13	Pacific/Tongatapu
GMT+10	Pacific/Truk
GMT+12	Pacific/Wake
GMT+12	Pacific/Wallis
GMT+10	Pacific/Yap
GMT+1	Poland
GMT+0	Portugal
GMT+9	ROK
GMT+8	Singapore
GMT-4	SystemV/AST4
GMT-4	SystemV/AST4ADT
GMT-6	SystemV/CST6
GMT-6	SystemV/CST6CDT
GMT-5	SystemV/EST5
GMT-5	SystemV/EST5EDT
GMT-10	SystemV/HST10
GMT-7	SystemV/MST7
GMT-7	SystemV/MST7MDT
GMT-8	SystemV/PST8
GMT-8	SystemV/PST8PDT
GMT-9	SystemV/YST9
GMT-9	SystemV/YST9YDT
GMT+3	Turkey
GMT+0	UCT
GMT-9	US/Alaska
GMT-10	US/Aleutian
GMT-7	US/Arizona
GMT-6	US/Central
GMT-5	US/East-Indiana
GMT-5	US/Eastern
GMT-10	US/Hawaii
GMT-6	US/Indiana-Starke
GMT-5	US/Michigan
GMT-7	US/Mountain
GMT-8	US/Pacific
GMT-8	US/Pacific-New
GMT-11	US/Samoa
GMT+0	UTC
GMT+0	Universal
GMT+3	W-SU
GMT+0	WET
GMT+0	Zulu

从上面的输出可以看出,要表示中国北京时区对应的ZoneId,ZoneId并不是Asia/Beijing,而是Asia/Shanghai

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
全球城市ZoneId和UTC时间偏移量的最全对照表
如你所知,现行的世界标准时间是UTC世界协调时,时区已不直接参与时间计算。但是呢,城市名称or时区是人们所能记忆和容易沟通的名词,因此我们迫切需要一个对照表,能让只知道城市名或者ID的情况下就迅速知道它的偏移量,从而计算出当地的本地时间。
YourBatman
2021/01/22
7.6K0
【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/10/29
6020
【Java8新特性】关于Java8中的日期时间API,你需要掌握这些!!
【数据分析可视化】各国商店-小试牛刀
分组+plt 各国商店-小试牛刀 # 基本信息 import numpy as np import pandas as pd from pandas import Series, DataFrame # 股票数据读取 import pandas_datareader as pdr # 可视化 import matplotlib.pyplot as plt import seaborn as sns #%matplotlib inline # time from datetime import da
瑞新
2020/07/08
4800
8万字总结的Java8新特性!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2022/06/15
1.1K0
8万字总结的Java8新特性!!
什么是时区?
1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。
JMCui
2023/03/02
2K0
什么是时区?
CentOS7.X时间调整为系统时间之后,重新开机就无效了
CentOS7.X时间调整为系统时间之后,重新开机就无效了 0. 原因分析 1. 时间修改 2. 参考 ---- ---- 0. 原因分析 系统时区非上海 没有同步网络时间 1. 时间修改 查看虚拟机系统时间 [root@node01 ~]$ timedatectl Local time: 日 2022-09-18 10:22:31 GMT Universal time: 日 2022-09-18 10:22:31 UTC RTC time: 日 2022-09-18
WHYBIGDATA
2023/01/31
1.2K0
CentOS7.X时间调整为系统时间之后,重新开机就无效了
时间插入 MySQL 数据库,结果竟然少了 8 小时!
最近在用mybatis时发现,将LocalDateTime插入到数据库时时间少了8小时。
芋道源码
2020/12/08
4.4K0
时间插入 MySQL  数据库,结果竟然少了 8 小时!
Centos系统修改时区
今天在操作系统的时候创建了一个文件,ls了一下发现时间和本地时间不对,date看了一下后发现时区是EDT(Eastern Daylight Timing)指美国东部夏令时间)。时区这玩意,百年难得修改一次,几乎算是最不常用的操作了(除了运维NTP服务器的大神们),记录一下。 [root@dbback ~]# date Mon Mar 27 01:26:48 EDT 2017 一、设置Centos系统的时区 输入命令: tzselect 依次输入:5)Asia → 9)china → 1)eas
行 者
2018/03/26
2.6K0
Centos系统修改时区
全网最全!彻底弄透Java处理GMT/UTC日期时间
本系列的目的是明明白白、彻彻底底的搞定日期/时间处理的几乎所有case。上篇文章 铺设所有涉及到的概念解释,例如GMT、UTC、夏令时、时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花5分钟看一下,因为日期时间处理较为特殊,实战必须基于对概念的了解,否则很可能依旧雾里看花。
YourBatman
2021/01/21
5.1K0
全网最全!彻底弄透Java处理GMT/UTC日期时间
Linux (RHEL)修改时区
注意: 1)时区一般建议在安装系统时就选择正确,不建议后期更改 2)tzselect可以指导你如何选择正确的时区,但并不会修改时区
Alfred Zhao
2019/05/24
3.5K0
Java 编程问题:三、使用日期和时间
本章包括 20 个涉及日期和时间的问题。这些问题通过Date、Calendar、LocalDate、LocalTime、LocalDateTime、ZoneDateTime、OffsetDateTime、OffsetTime、Instant等涵盖了广泛的主题(转换、格式化、加减、定义时段/持续时间、计算等)。到本章结束时,您将在确定日期和时间方面没有问题,同时符合您的应用的需要。本章介绍的基本问题将非常有助于了解日期-时间 API 的整体情况,并将像拼图中需要拼凑起来的部分一样解决涉及日期和时间的复杂挑战。
ApacheCN_飞龙
2022/07/11
5.5K0
ubuntu18.04修改时区
运行如下命令: sudo tzselect 然后选择亚洲Asia,继续选择中国China,最后选择北京Beijing。 baoguoxiao@bogon:~/windows/lumen$ sudo tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas
魔王卷子
2019/05/31
1.6K0
Linux下设置时区方法,实现开机自动设置时区
平台: RK3399 系统: ubuntu 18.04 64位 --ARM版本 使用tzselect 命令设置时区。 步骤示例: pi@NanoPC-T4:~$ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica
DS小龙哥
2022/01/12
6K0
Linux下设置时区方法,实现开机自动设置时区
ELK:ElasticSearch中有数据,Kibana查询不到数据
ElasticSearch中有数据,Kibana查询不到数据 多数原因就是Linux的时区问题, 在linux输入date查看当前时间是否根本地相对应,不对应那么你就来对了, 解决方案一、 这个选择的
Arebirth
2020/06/19
3.3K0
ubuntu常见的问题解决
ubuntu时间校准 date 查看当前时间 运行tzselect,选择Asia(亚洲) 选择China,然后选定北京时间 确定 复制文件到本地时间内() date 再次查看当前时间 vagrant@ubuntu-xenial:/data/www/code/nginx+lua$ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continen
友儿
2022/09/13
2520
修改CentOS服务器时间为北京时间
购买了VPS,CentOS系统,发现服务器时间与北京时间往往不一致,存在时差。 [clive@server workspace]$ date 2018年 05月 30日 星期三 02:02:47 UTC 可以执行tzselect命令按提示更换时区,依次选择5-Asia,9-China,1-Beijing Time。 Please identify a location so that time zone rules can be set correctly. Please select a continen
Clive
2018/06/08
4.4K0
同步服务器系统时间操作记录
在初始化一台linux服务器后,发现这台服务器的时间不对 [root@dev ~]# date 2016年 10月 11日 星期二 07:04:34 CST Linux时钟分为系统时钟 (System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。 Linux中的所有命令(包括
洗尽了浮华
2018/01/22
4.4K0
Docker修改正在运行的容器的时区
笔者在对网站日志(nginx)做分析时,发现时间不在东八区,也就服务器时间和当前时间对不上,而该Web网站是放在Nginx容器中,本文是修改已经运行了的容器时区做的一个记录。
肓己
2021/08/12
1.6K0
centos在设置时区
[root@localhost ~]# date -R // 查看时区
全栈程序员站长
2022/07/06
1.3K0
ubuntu修改时区和时间的方法
ubuntu16 运行命令dpkg-reconfigure tzdata,选择Asia-->Shanghai,确定,
战神伽罗
2019/07/24
12.1K0
ubuntu修改时区和时间的方法
相关推荐
全球城市ZoneId和UTC时间偏移量的最全对照表
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验