|
@@ -5,6 +5,8 @@ using Aspose.Words.Layout;
|
|
|
using Aspose.Words.Saving;
|
|
|
using Microsoft.AspNetCore.SignalR;
|
|
|
using Microsoft.International.Converters.PinYinConverter;
|
|
|
+using NodaTime.TimeZones;
|
|
|
+using NodaTime;
|
|
|
using OASystem.API.OAMethodLib.APNs;
|
|
|
using OASystem.API.OAMethodLib.File;
|
|
|
using OASystem.API.OAMethodLib.Hub.HubClients;
|
|
@@ -25,6 +27,7 @@ using OfficeOpenXml;
|
|
|
using System.Data;
|
|
|
using System.IdentityModel.Tokens.Jwt;
|
|
|
using System.Security.Claims;
|
|
|
+using NodaTime.Extensions;
|
|
|
|
|
|
namespace OASystem.API.OAMethodLib
|
|
|
{
|
|
@@ -4440,10 +4443,659 @@ namespace OASystem.API.OAMethodLib
|
|
|
|
|
|
#region iOS推送通知
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 计算国家城市当时时间
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 中文城市名称映射
|
|
|
+ /// </summary>
|
|
|
+ private static readonly Dictionary<string, string> _timeZoneCityMappings = new Dictionary<string, string>
|
|
|
+ {
|
|
|
+{"Africa/Abidjan","非洲/阿比让"} ,
|
|
|
+{"Africa/Accra","非洲/阿克拉"} ,
|
|
|
+{"Africa/Addis_Ababa","非洲/亚的斯亚贝巴"} ,
|
|
|
+{"Africa/Algiers","非洲/阿尔及尔"} ,
|
|
|
+{"Africa/Asmara","非洲/阿斯马拉"} ,
|
|
|
+{"Africa/Asmera","非洲/阿斯梅拉"} ,
|
|
|
+{"Africa/Bamako","非洲/巴马科"} ,
|
|
|
+{"Africa/Bangui","非洲/班吉"} ,
|
|
|
+{"Africa/Banjul","非洲/班珠尔"} ,
|
|
|
+{"Africa/Bissau","非洲/比绍"} ,
|
|
|
+{"Africa/Blantyre","非洲/布兰太尔"} ,
|
|
|
+{"Africa/Brazzaville","非洲/布拉柴维尔"} ,
|
|
|
+{"Africa/Bujumbura","非洲/布琼布拉"} ,
|
|
|
+{"Africa/Cairo","非洲/开罗"} ,
|
|
|
+{"Africa/Casablanca","非洲/卡萨布兰卡"} ,
|
|
|
+{"Africa/Ceuta","非洲/休达"} ,
|
|
|
+{"Africa/Conakry","非洲/科纳克里"} ,
|
|
|
+{"Africa/Dakar","非洲/达喀尔"} ,
|
|
|
+{"Africa/Dar_es_Salaam","非洲/达累斯萨拉姆"} ,
|
|
|
+{"Africa/Djibouti","非洲/吉布提"} ,
|
|
|
+{"Africa/Douala","非洲/杜阿拉"} ,
|
|
|
+{"Africa/El_Aaiun","非洲/阿尤恩"} ,
|
|
|
+{"Africa/Freetown","非洲/弗里敦"} ,
|
|
|
+{"Africa/Gaborone","非洲/哈博罗内"} ,
|
|
|
+{"Africa/Harare","非洲/哈拉雷"} ,
|
|
|
+{"Africa/Johannesburg","非洲/约翰内斯堡"} ,
|
|
|
+{"Africa/Juba","非洲/朱巴"} ,
|
|
|
+{"Africa/Kampala","非洲/坎帕拉"} ,
|
|
|
+{"Africa/Khartoum","非洲/喀土穆"} ,
|
|
|
+{"Africa/Kigali","非洲/基加利"} ,
|
|
|
+{"Africa/Kinshasa","非洲/金沙萨"} ,
|
|
|
+{"Africa/Lagos","非洲/拉各斯"} ,
|
|
|
+{"Africa/Libreville","非洲/利伯维尔"} ,
|
|
|
+{"Africa/Lome","非洲/洛美"} ,
|
|
|
+{"Africa/Luanda","非洲/罗安达"} ,
|
|
|
+{"Africa/Lubumbashi","非洲/卢本巴希"} ,
|
|
|
+{"Africa/Lusaka","非洲/卢萨卡"} ,
|
|
|
+{"Africa/Malabo","非洲/马拉博"} ,
|
|
|
+{"Africa/Maputo","非洲/马普托"} ,
|
|
|
+{"Africa/Maseru","非洲/马塞卢"} ,
|
|
|
+{"Africa/Mbabane","非洲/姆巴巴内"} ,
|
|
|
+{"Africa/Mogadishu","非洲/摩加迪沙"} ,
|
|
|
+{"Africa/Monrovia","非洲/蒙罗维亚"} ,
|
|
|
+{"Africa/Nairobi","非洲/内罗毕"} ,
|
|
|
+{"Africa/Ndjamena","非洲/恩贾梅纳"} ,
|
|
|
+{"Africa/Niamey","非洲/尼亚美"} ,
|
|
|
+{"Africa/Nouakchott","非洲/努瓦克肖特"} ,
|
|
|
+{"Africa/Ouagadougou","非洲/瓦加杜古"} ,
|
|
|
+{"Africa/Porto-Novo","非洲/波多诺伏"} ,
|
|
|
+{"Africa/Sao_Tome","非洲/圣多美"} ,
|
|
|
+{"Africa/Timbuktu","非洲/廷巴克图"} ,
|
|
|
+{"Africa/Tripoli","非洲/的黎波里"} ,
|
|
|
+{"Africa/Tunis","非洲/突尼斯"} ,
|
|
|
+{"Africa/Windhoek","非洲/温得和克"} ,
|
|
|
+{"America/Adak","美洲/埃达克"} ,
|
|
|
+{"America/Anchorage","美洲/安克雷奇"} ,
|
|
|
+{"America/Anguilla","美洲/安圭拉"} ,
|
|
|
+{"America/Antigua","美洲/安提瓜岛"} ,
|
|
|
+{"America/Araguaina","美洲/阿拉瓜纳"} ,
|
|
|
+{"America/Argentina/Buenos_Aires","美洲/阿根廷/布宜诺斯艾利斯"} ,
|
|
|
+{"America/Argentina/Catamarca","美洲/阿根廷/卡塔马卡"} ,
|
|
|
+{"America/Argentina/ComodRivadavia","美洲/阿根廷/科莫德里瓦达维亚"} ,
|
|
|
+{"America/Argentina/Cordoba","美洲/阿根廷/科尔多瓦"} ,
|
|
|
+{"America/Argentina/Jujuy","美洲/阿根廷/胡胡伊省"} ,
|
|
|
+{"America/Argentina/La_Rioja","美洲/阿根廷/拉里奥哈"} ,
|
|
|
+{"America/Argentina/Mendoza","美洲/阿根廷/门多萨"} ,
|
|
|
+{"America/Argentina/Rio_Gallegos","美洲/阿根廷/里奥加耶戈斯"} ,
|
|
|
+{"America/Argentina/Salta","美洲/阿根廷/萨尔塔"} ,
|
|
|
+{"America/Argentina/San_Juan","美洲/阿根廷/San_Juan"} ,
|
|
|
+{"America/Argentina/San_Luis","美洲/阿根廷/圣路易斯"} ,
|
|
|
+{"America/Argentina/Tucuman","美洲/阿根廷/图库曼"} ,
|
|
|
+{"America/Argentina/Ushuaia","美洲/阿根廷/乌斯怀亚"} ,
|
|
|
+{"America/Aruba","美洲/阿鲁巴岛"} ,
|
|
|
+{"America/Asuncion","美洲/亚松森"} ,
|
|
|
+{"America/Atikokan","美洲/阿蒂科坎"} ,
|
|
|
+{"America/Atka","美洲/阿特卡"} ,
|
|
|
+{"America/Bahia","美洲/巴伊亚"} ,
|
|
|
+{"America/Bahia_Banderas","美洲/巴伊亚_班德拉斯"} ,
|
|
|
+{"America/Barbados","美洲/巴巴多斯"} ,
|
|
|
+{"America/Belem","美洲/贝伦"} ,
|
|
|
+{"America/Belize","美洲/伯利兹"} ,
|
|
|
+{"America/Blanc-Sablon","America/Blanc-Sablon"} ,
|
|
|
+{"America/Boa_Vista","美洲/博阿维斯塔"} ,
|
|
|
+{"America/Bogota","美洲/波哥大"} ,
|
|
|
+{"America/Boise","美洲/博伊西"} ,
|
|
|
+{"America/Buenos_Aires","美洲/布宜诺斯艾利斯"} ,
|
|
|
+{"America/Cambridge_Bay","美洲/剑桥湾"} ,
|
|
|
+{"America/Campo_Grande","美洲/大坎普"} ,
|
|
|
+{"America/Cancun","美洲/坎昆"} ,
|
|
|
+{"America/Caracas","美洲/加拉加斯"} ,
|
|
|
+{"America/Catamarca","美洲/卡塔马卡"} ,
|
|
|
+{"America/Cayenne","美洲/卡宴"} ,
|
|
|
+{"America/Cayman","美洲/开曼"} ,
|
|
|
+{"America/Chicago","美洲/芝加哥"} ,
|
|
|
+{"America/Chihuahua","美洲/奇瓦瓦州"} ,
|
|
|
+{"America/Ciudad_Juarez","美洲/华雷斯城"} ,
|
|
|
+{"America/Coral_Harbour","美洲/珊瑚港"} ,
|
|
|
+{"America/Cordoba","美洲/科尔多瓦"} ,
|
|
|
+{"America/Costa_Rica","美洲/哥斯达黎加"} ,
|
|
|
+{"America/Creston","美洲/克雷斯顿"} ,
|
|
|
+{"America/Cuiaba","美洲/库艾巴"} ,
|
|
|
+{"America/Curacao","美洲/库拉索岛"} ,
|
|
|
+{"America/Danmarkshavn","美洲/丹麦港"} ,
|
|
|
+{"America/Dawson","美洲/道森"} ,
|
|
|
+{"America/Dawson_Creek","美洲/道森克里克"} ,
|
|
|
+{"America/Denver","美洲/丹佛"} ,
|
|
|
+{"America/Detroit","美洲/底特律"} ,
|
|
|
+{"America/Dominica","美洲/多米尼克"} ,
|
|
|
+{"America/Edmonton","美洲/埃德蒙顿"} ,
|
|
|
+{"America/Eirunepe","美洲/埃鲁内佩"} ,
|
|
|
+{"America/El_Salvador","美洲/萨尔瓦多"} ,
|
|
|
+{"America/Ensenada","美洲/恩塞纳达"} ,
|
|
|
+{"America/Fort_Nelson","美洲/纳尔逊堡"} ,
|
|
|
+{"America/Fort_Wayne","美洲/韦恩堡"} ,
|
|
|
+{"America/Fortaleza","美洲/福塔莱萨"} ,
|
|
|
+{"America/Glace_Bay","America/Glace_Bay"} ,
|
|
|
+{"America/Godthab","美洲/戈德哈布"} ,
|
|
|
+{"America/Goose_Bay","America/Goose_Bay"} ,
|
|
|
+{"America/Grand_Turk","美洲/大特克岛"} ,
|
|
|
+{"America/Grenada","美洲/格林纳达"} ,
|
|
|
+{"America/Guadeloupe","美洲/瓜德罗普岛"} ,
|
|
|
+{"America/Guatemala","美洲/危地马拉"} ,
|
|
|
+{"America/Guayaquil","美洲/瓜亚基尔"} ,
|
|
|
+{"America/Guyana","美洲/圭亚那"} ,
|
|
|
+{"America/Halifax","美洲/哈利法克斯"} ,
|
|
|
+{"America/Havana","美洲/哈瓦那"} ,
|
|
|
+{"America/Hermosillo","美洲/埃莫西约"} ,
|
|
|
+{"America/Indiana/Indianapolis","美洲/印第安纳州/印第安纳波利斯"} ,
|
|
|
+{"America/Indiana/Knox","美洲/印第安纳州/诺克斯"} ,
|
|
|
+{"America/Indiana/Marengo","美洲/印第安纳州/马伦戈"} ,
|
|
|
+{"America/Indiana/Petersburg","美洲/印第安纳州/彼得斯堡"} ,
|
|
|
+{"America/Indiana/Tell_City","美洲/印第安纳州/Tell_City"} ,
|
|
|
+{"America/Indiana/Vevay","美洲/印第安纳州/沃韦"} ,
|
|
|
+{"America/Indiana/Vincennes","美洲/印第安纳州/文森斯"} ,
|
|
|
+{"America/Indiana/Winamac","美洲/印第安纳州/威纳马克"} ,
|
|
|
+{"America/Indianapolis","美洲/印第安纳波利斯"} ,
|
|
|
+{"America/Inuvik","美洲/伊努维克人"} ,
|
|
|
+{"America/Iqaluit","美洲/伊魁特"} ,
|
|
|
+{"America/Jamaica","美洲/牙买加"} ,
|
|
|
+{"America/Jujuy","美洲/胡胡伊省"} ,
|
|
|
+{"America/Juneau","美洲/朱诺"} ,
|
|
|
+{"America/Kentucky/Louisville","美洲/肯塔基州/路易斯维尔"} ,
|
|
|
+{"America/Kentucky/Monticello","美洲/肯塔基州/蒙蒂塞洛"} ,
|
|
|
+{"America/Knox_IN","美洲/Knox_IN"} ,
|
|
|
+{"America/Kralendijk","美洲/克拉伦代克"} ,
|
|
|
+{"America/La_Paz","美洲/拉巴斯"} ,
|
|
|
+{"America/Lima","美洲/利马"} ,
|
|
|
+{"America/Los_Angeles","美洲/洛杉矶"} ,
|
|
|
+{"America/Louisville","美洲/路易斯维尔"} ,
|
|
|
+{"America/Lower_Princes","美洲/下王子郡"} ,
|
|
|
+{"America/Maceio","美洲/马塞约"} ,
|
|
|
+{"America/Managua","美洲/马那瓜"} ,
|
|
|
+{"America/Manaus","美洲/马瑙斯"} ,
|
|
|
+{"America/Marigot","美洲/马里戈特"} ,
|
|
|
+{"America/Martinique","美洲/马提尼克岛"} ,
|
|
|
+{"America/Matamoros","美洲/马塔莫罗斯"} ,
|
|
|
+{"America/Mazatlan","美洲/马萨特兰"} ,
|
|
|
+{"America/Mendoza","美洲/门多萨"} ,
|
|
|
+{"America/Menominee","美国/梅诺米尼"} ,
|
|
|
+{"America/Merida","美洲/梅里达"} ,
|
|
|
+{"America/Metlakatla","美洲/梅特拉卡特拉"} ,
|
|
|
+{"America/Mexico_City","美洲/墨西哥_城市"} ,
|
|
|
+{"America/Miquelon","美洲/密克隆群岛"} ,
|
|
|
+{"America/Moncton","美洲/蒙克顿"} ,
|
|
|
+{"America/Monterrey","美洲/蒙特雷"} ,
|
|
|
+{"America/Montevideo","美洲/蒙得维的亚"} ,
|
|
|
+{"America/Montreal","美洲/蒙特利尔"} ,
|
|
|
+{"America/Montserrat","美洲/蒙特塞拉特"} ,
|
|
|
+{"America/Nassau","美洲/拿骚"} ,
|
|
|
+{"America/New_York","美洲/纽约"} ,
|
|
|
+{"America/Nipigon","美洲/尼皮贡"} ,
|
|
|
+{"America/Nome","美国/名称"} ,
|
|
|
+{"America/Noronha","美国/某地"} ,
|
|
|
+{"America/North_Dakota/Beulah","美洲/北达科他州/比尤拉"} ,
|
|
|
+{"America/North_Dakota/Center","美洲/北达科他州/中部"} ,
|
|
|
+{"America/North_Dakota/New_Salem","美洲/北达科他州/新塞勒姆"} ,
|
|
|
+{"America/Nuuk","美洲/努克"} ,
|
|
|
+{"America/Ojinaga","美洲/奥吉纳加"} ,
|
|
|
+{"America/Panama","美洲/巴拿马"} ,
|
|
|
+{"America/Pangnirtung","美洲/庞纳通"} ,
|
|
|
+{"America/Paramaribo","美洲/帕拉马里博"} ,
|
|
|
+{"America/Phoenix","美洲/菲尼克斯"} ,
|
|
|
+{"America/Port-au-Prince","美洲/太子港"} ,
|
|
|
+{"America/Port_of_Spain","美洲/西班牙港"} ,
|
|
|
+{"America/Porto_Acre","美洲/阿卡港"} ,
|
|
|
+{"America/Porto_Velho","美洲/旧波尔图"} ,
|
|
|
+{"America/Puerto_Rico","美洲/波多黎各"} ,
|
|
|
+{"America/Punta_Arenas","美洲/蓬塔阿雷纳斯"} ,
|
|
|
+{"America/Rainy_River","美洲/雷尼河"} ,
|
|
|
+{"America/Rankin_Inlet","兰金因莱特"} ,
|
|
|
+{"America/Recife","美洲/累西腓"} ,
|
|
|
+{"America/Regina","美洲/里贾纳"} ,
|
|
|
+{"America/Resolute","美国/坚决"} ,
|
|
|
+{"America/Rio_Branco","美洲/里奥布兰科"} ,
|
|
|
+{"America/Rosario","美洲/罗萨里奥"} ,
|
|
|
+{"America/Santa_Isabel","美洲/圣伊莎贝尔"} ,
|
|
|
+{"America/Santarem","美洲/圣塔伦"} ,
|
|
|
+{"America/Santiago","美洲/圣地亚哥"} ,
|
|
|
+{"America/Santo_Domingo","美洲/圣多明各"} ,
|
|
|
+{"America/Sao_Paulo","美洲/圣保罗"} ,
|
|
|
+{"America/Scoresbysund","美洲/斯科斯比松"} ,
|
|
|
+{"America/Shiprock","美洲/希普洛克"} ,
|
|
|
+{"America/Sitka","美洲/锡特卡"} ,
|
|
|
+{"America/St_Barthelemy","美洲/圣巴泰勒米"} ,
|
|
|
+{"America/St_Johns","美洲/圣约翰斯"} ,
|
|
|
+{"America/St_Kitts","美洲/圣基茨"} ,
|
|
|
+{"America/St_Lucia","美洲/圣卢西亚"} ,
|
|
|
+{"America/St_Thomas","美洲/圣托马斯"} ,
|
|
|
+{"America/St_Vincent","美洲/圣文森特"} ,
|
|
|
+{"America/Swift_Current","America/Swift_Current"} ,
|
|
|
+{"America/Tegucigalpa","美洲/特古西加尔巴"} ,
|
|
|
+{"America/Thule","美洲/图勒"} ,
|
|
|
+{"America/Thunder_Bay","美洲/雷湾"} ,
|
|
|
+{"America/Tijuana","美洲/蒂华纳"} ,
|
|
|
+{"America/Toronto","美洲/多伦多"} ,
|
|
|
+{"America/Tortola","美洲/托尔托拉岛"} ,
|
|
|
+{"America/Vancouver","美洲/温哥华"} ,
|
|
|
+{"America/Virgin","美国/维珍"} ,
|
|
|
+{"America/Whitehorse","美洲/怀特霍斯"} ,
|
|
|
+{"America/Winnipeg","美洲/温尼伯"} ,
|
|
|
+{"America/Yakutat","美洲/雅库塔特"} ,
|
|
|
+{"America/Yellowknife","美洲/黄刀镇"} ,
|
|
|
+{"Antarctica/Casey","南极洲/凯西"} ,
|
|
|
+{"Antarctica/Davis","南极洲/戴维斯"} ,
|
|
|
+{"Antarctica/DumontDUrville","南极洲/杜蒙杜维尔"} ,
|
|
|
+{"Antarctica/Macquarie","南极洲/麦格理"} ,
|
|
|
+{"Antarctica/Mawson","南极洲/莫森"} ,
|
|
|
+{"Antarctica/McMurdo","南极洲/麦克默多"} ,
|
|
|
+{"Antarctica/Palmer","南极洲/帕尔默"} ,
|
|
|
+{"Antarctica/Rothera","南极洲/罗塞拉岛"} ,
|
|
|
+{"Antarctica/South_Pole","南极洲/南极点"} ,
|
|
|
+{"Antarctica/Syowa","南极洲/昭和"} ,
|
|
|
+{"Antarctica/Troll","南极洲/巨魔"} ,
|
|
|
+{"Antarctica/Vostok","南极洲/东方"} ,
|
|
|
+{"Arctic/Longyearbyen","北极/朗伊尔城"} ,
|
|
|
+{"Asia/Aden","亚洲/亚丁"} ,
|
|
|
+{"Asia/Almaty","亚洲/阿拉木图"} ,
|
|
|
+{"Asia/Amman","亚洲/安曼"} ,
|
|
|
+{"Asia/Anadyr","亚洲/阿纳德尔"} ,
|
|
|
+{"Asia/Aqtau","亚洲/阿克套"} ,
|
|
|
+{"Asia/Aqtobe","亚洲/阿克托比"} ,
|
|
|
+{"Asia/Ashgabat","亚洲/阿什哈巴德"} ,
|
|
|
+{"Asia/Ashkhabad","亚洲/阿什哈巴德"} ,
|
|
|
+{"Asia/Atyrau","亚洲/阿特劳"} ,
|
|
|
+{"Asia/Baghdad","亚洲/巴格达"} ,
|
|
|
+{"Asia/Bahrain","亚洲/巴林"} ,
|
|
|
+{"Asia/Baku","亚洲/巴库"} ,
|
|
|
+{"Asia/Bangkok","亚洲/曼谷"} ,
|
|
|
+{"Asia/Barnaul","亚洲/巴尔瑙尔"} ,
|
|
|
+{"Asia/Beirut","亚洲/贝鲁特"} ,
|
|
|
+{"Asia/Bishkek","亚洲/比什凯克"} ,
|
|
|
+{"Asia/Brunei","亚洲/文莱"} ,
|
|
|
+{"Asia/Calcutta","亚洲/加尔各答"} ,
|
|
|
+{"Asia/Chita","亚洲/赤塔"} ,
|
|
|
+{"Asia/Choibalsan","亚洲/乔巴山"} ,
|
|
|
+{"Asia/Chongqing","亚洲/重庆"} ,
|
|
|
+{"Asia/Chungking","亚洲/重庆"} ,
|
|
|
+{"Asia/Colombo","亚洲/科伦坡"} ,
|
|
|
+{"Asia/Dacca","亚洲/达卡"} ,
|
|
|
+{"Asia/Damascus","亚洲/大马士革"} ,
|
|
|
+{"Asia/Dhaka","亚洲/达卡"} ,
|
|
|
+{"Asia/Dili","亚洲/帝力"} ,
|
|
|
+{"Asia/Dubai","亚洲/迪拜"} ,
|
|
|
+{"Asia/Dushanbe","亚洲/杜尚别"} ,
|
|
|
+{"Asia/Famagusta","亚洲/法马古斯塔"} ,
|
|
|
+{"Asia/Gaza","亚洲/加沙"} ,
|
|
|
+{"Asia/Harbin","亚洲/哈尔滨"} ,
|
|
|
+{"Asia/Hebron","亚洲/希伯伦"} ,
|
|
|
+{"Asia/Ho_Chi_Minh","亚洲/胡志明市"} ,
|
|
|
+{"Asia/Hong_Kong","亚洲/香港"} ,
|
|
|
+{"Asia/Hovd","亚洲/霍布德"} ,
|
|
|
+{"Asia/Irkutsk","亚洲/伊尔库茨克"} ,
|
|
|
+{"Asia/Istanbul","亚洲/伊斯坦布尔"} ,
|
|
|
+{"Asia/Jakarta","亚洲/雅加达"} ,
|
|
|
+{"Asia/Jayapura","亚洲/查亚普拉"} ,
|
|
|
+{"Asia/Jerusalem","亚洲/耶路撒冷"} ,
|
|
|
+{"Asia/Kabul","亚洲/喀布尔"} ,
|
|
|
+{"Asia/Kamchatka","亚洲/堪察加半岛"} ,
|
|
|
+{"Asia/Karachi","亚洲/卡拉奇"} ,
|
|
|
+{"Asia/Kashgar","亚洲/喀什"} ,
|
|
|
+{"Asia/Kathmandu","亚洲/加德满都"} ,
|
|
|
+{"Asia/Katmandu","亚洲/加德满都"} ,
|
|
|
+{"Asia/Khandyga","亚洲/坎迪加"} ,
|
|
|
+{"Asia/Kolkata","亚洲/加尔各答"} ,
|
|
|
+{"Asia/Krasnoyarsk","亚洲/克拉斯诺亚尔斯克"} ,
|
|
|
+{"Asia/Kuala_Lumpur","亚洲/吉隆坡_吉隆坡"} ,
|
|
|
+{"Asia/Kuching","亚洲/古晋"} ,
|
|
|
+{"Asia/Kuwait","亚洲/科威特"} ,
|
|
|
+{"Asia/Macao","亚洲/澳门"} ,
|
|
|
+{"Asia/Macau","亚洲/澳门"} ,
|
|
|
+{"Asia/Magadan","亚洲/马加丹"} ,
|
|
|
+{"Asia/Makassar","亚洲/望加锡"} ,
|
|
|
+{"Asia/Manila","亚洲/马尼拉"} ,
|
|
|
+{"Asia/Muscat","亚洲/马斯喀特"} ,
|
|
|
+{"Asia/Nicosia","亚洲/尼科西亚"} ,
|
|
|
+{"Asia/Novokuznetsk","亚洲/新库兹涅茨克"} ,
|
|
|
+{"Asia/Novosibirsk","亚洲/新西伯利亚"} ,
|
|
|
+{"Asia/Omsk","亚洲/鄂木斯克"} ,
|
|
|
+{"Asia/Oral","亚洲/口头"} ,
|
|
|
+{"Asia/Phnom_Penh","亚洲/金边"} ,
|
|
|
+{"Asia/Pontianak","亚洲/笨珍"} ,
|
|
|
+{"Asia/Pyongyang","亚洲/平壤"} ,
|
|
|
+{"Asia/Qatar","亚洲/卡塔尔"} ,
|
|
|
+{"Asia/Qostanay","亚洲/库斯塔奈"} ,
|
|
|
+{"Asia/Qyzylorda","亚洲/克孜勒奥尔达"} ,
|
|
|
+{"Asia/Rangoon","亚洲/仰光"} ,
|
|
|
+{"Asia/Riyadh","亚洲/利雅得"} ,
|
|
|
+{"Asia/Saigon","亚洲/西贡"} ,
|
|
|
+{"Asia/Sakhalin","亚洲/萨哈林岛"} ,
|
|
|
+{"Asia/Samarkand","亚洲/撒马尔罕"} ,
|
|
|
+{"Asia/Seoul","亚洲/首尔"} ,
|
|
|
+{"Asia/Shanghai","亚洲/上海"} ,
|
|
|
+{"Asia/Singapore","亚洲/新加坡"} ,
|
|
|
+{"Asia/Srednekolymsk","亚洲/中科雷姆斯克"} ,
|
|
|
+{"Asia/Taipei","亚洲/台北"} ,
|
|
|
+{"Asia/Tashkent","亚洲/塔什干"} ,
|
|
|
+{"Asia/Tbilisi","亚洲/第比利斯"} ,
|
|
|
+{"Asia/Tehran","亚洲/德黑兰"} ,
|
|
|
+{"Asia/Tel_Aviv","亚洲/特拉维夫"} ,
|
|
|
+{"Asia/Thimbu","亚洲/廷布"} ,
|
|
|
+{"Asia/Thimphu","亚洲/廷布"} ,
|
|
|
+{"Asia/Tokyo","亚洲/东京"} ,
|
|
|
+{"Asia/Tomsk","亚洲/托木斯克"} ,
|
|
|
+{"Asia/Ujung_Pandang","亚洲/乌戎_潘当"} ,
|
|
|
+{"Asia/Ulaanbaatar","亚洲/乌兰巴托"} ,
|
|
|
+{"Asia/Ulan_Bator","亚洲/乌兰巴托"} ,
|
|
|
+{"Asia/Urumqi","亚洲/乌鲁木齐"} ,
|
|
|
+{"Asia/Ust-Nera","亚洲/乌斯季-内拉"} ,
|
|
|
+{"Asia/Vientiane","亚洲/万象"} ,
|
|
|
+{"Asia/Vladivostok","亚洲/符拉迪沃斯托克"} ,
|
|
|
+{"Asia/Yakutsk","亚洲/雅库茨克"} ,
|
|
|
+{"Asia/Yangon","亚洲/仰光"} ,
|
|
|
+{"Asia/Yekaterinburg","亚洲/叶卡捷琳堡"} ,
|
|
|
+{"Asia/Yerevan","亚洲/埃里温"} ,
|
|
|
+{"Atlantic/Azores","大西洋/亚速尔群岛"} ,
|
|
|
+{"Atlantic/Bermuda","大西洋/百慕大"} ,
|
|
|
+{"Atlantic/Canary","大西洋/加那利"} ,
|
|
|
+{"Atlantic/Cape_Verde","大西洋/佛得角"} ,
|
|
|
+{"Atlantic/Faeroe","大西洋/法罗"} ,
|
|
|
+{"Atlantic/Faroe","大西洋/法罗"} ,
|
|
|
+{"Atlantic/Jan_Mayen","大西洋/扬马延"} ,
|
|
|
+{"Atlantic/Madeira","大西洋/马德拉"} ,
|
|
|
+{"Atlantic/Reykjavik","大西洋/雷克雅未克"} ,
|
|
|
+{"Atlantic/South_Georgia","大西洋/南乔治亚州"} ,
|
|
|
+{"Atlantic/St_Helena","大西洋/圣赫勒拿岛"} ,
|
|
|
+{"Atlantic/Stanley","大西洋/斯坦利"} ,
|
|
|
+{"Australia/ACT","澳大利亚/澳大利亚首都地区"} ,
|
|
|
+{"Australia/Adelaide","澳大利亚/阿德莱德"} ,
|
|
|
+{"Australia/Brisbane","澳大利亚/布里斯班"} ,
|
|
|
+{"Australia/Broken_Hill","澳大利亚/布罗肯希尔"} ,
|
|
|
+{"Australia/Canberra","澳大利亚/堪培拉"} ,
|
|
|
+{"Australia/Currie","澳大利亚/柯里"} ,
|
|
|
+{"Australia/Darwin","澳大利亚/达尔文"} ,
|
|
|
+{"Australia/Eucla","澳大利亚/尤克拉拉"} ,
|
|
|
+{"Australia/Hobart","澳大利亚/霍巴特"} ,
|
|
|
+{"Australia/LHI","澳大利亚/LHI"} ,
|
|
|
+{"Australia/Lindeman","澳大利亚/林德曼"} ,
|
|
|
+{"Australia/Lord_Howe","澳大利亚/豪勋爵"} ,
|
|
|
+{"Australia/Melbourne","澳大利亚/墨尔本"} ,
|
|
|
+{"Australia/NSW","澳大利亚/新南威尔士州"} ,
|
|
|
+{"Australia/North","澳大利亚/北部"} ,
|
|
|
+{"Australia/Perth","澳大利亚/珀斯"} ,
|
|
|
+{"Australia/Queensland","澳大利亚/昆士兰"} ,
|
|
|
+{"Australia/South","澳大利亚/南部"} ,
|
|
|
+{"Australia/Sydney","澳大利亚/悉尼"} ,
|
|
|
+{"Australia/Tasmania","澳大利亚/塔斯马尼亚"} ,
|
|
|
+{"Australia/Victoria","澳大利亚/维多利亚"} ,
|
|
|
+{"Australia/West","澳大利亚/西部"} ,
|
|
|
+{"Australia/Yancowinna","澳大利亚/扬科温纳"} ,
|
|
|
+{"Brazil/Acre","巴西/阿卡"} ,
|
|
|
+{"Brazil/DeNoronha","巴西/迪诺罗尼亚群岛"} ,
|
|
|
+{"Brazil/East","巴西/东部"} ,
|
|
|
+{"Brazil/West","巴西/西部"} ,
|
|
|
+{"CET","CET"} ,
|
|
|
+{"CST6CDT","CST6CDT"} ,
|
|
|
+{"Canada/Atlantic","加拿大/大西洋"} ,
|
|
|
+{"Canada/Central","加拿大/中部"} ,
|
|
|
+{"Canada/Eastern","加拿大/东部"} ,
|
|
|
+{"Canada/Mountain","加拿大/山区"} ,
|
|
|
+{"Canada/Newfoundland","加拿大/纽芬兰"} ,
|
|
|
+{"Canada/Pacific","加拿大/太平洋地区"} ,
|
|
|
+{"Canada/Saskatchewan","加拿大/萨斯喀彻温省"} ,
|
|
|
+{"Canada/Yukon","加拿大/育空地区"} ,
|
|
|
+{"Chile/Continental","智利/大陆航空"} ,
|
|
|
+{"Chile/EasterIsland","智利/复活节岛"} ,
|
|
|
+{"Cuba","古巴"} ,
|
|
|
+{"EET","欧洲东部时间"} ,
|
|
|
+{"EST","东部时间"} ,
|
|
|
+{"EST5EDT","EST5EDT"} ,
|
|
|
+{"Egypt","埃及"} ,
|
|
|
+{"Eire","爱尔兰"} ,
|
|
|
+{"Etc/GMT","Etc/GMT"} ,
|
|
|
+{"Etc/GMT+0","Etc/GMT+0"} ,
|
|
|
+{"Etc/GMT+1","Etc/GMT+1"} ,
|
|
|
+{"Etc/GMT+10","Etc/GMT+10"} ,
|
|
|
+{"Etc/GMT+11","Etc/GMT+11"} ,
|
|
|
+{"Etc/GMT+12","Etc/GMT+12"} ,
|
|
|
+{"Etc/GMT+2","Etc/GMT+2"} ,
|
|
|
+{"Etc/GMT+3","Etc/GMT+3"} ,
|
|
|
+{"Etc/GMT+4","Etc/GMT+4"} ,
|
|
|
+{"Etc/GMT+5","Etc/GMT+5"} ,
|
|
|
+{"Etc/GMT+6","Etc/GMT+6"} ,
|
|
|
+{"Etc/GMT+7","Etc/GMT+7"} ,
|
|
|
+{"Etc/GMT+8","Etc/GMT+8"} ,
|
|
|
+{"Etc/GMT+9","Etc/GMT+9"} ,
|
|
|
+{"Etc/GMT-0","Etc/GMT-0"} ,
|
|
|
+{"Etc/GMT-1","Etc/GMT-1"} ,
|
|
|
+{"Etc/GMT-10","Etc/GMT-10"} ,
|
|
|
+{"Etc/GMT-11","Etc/GMT-11"} ,
|
|
|
+{"Etc/GMT-12","Etc/GMT-12"} ,
|
|
|
+{"Etc/GMT-13","Etc/GMT-13"} ,
|
|
|
+{"Etc/GMT-14","Etc/GMT-14"} ,
|
|
|
+{"Etc/GMT-2","Etc/GMT-2"} ,
|
|
|
+{"Etc/GMT-3","Etc/GMT-3"} ,
|
|
|
+{"Etc/GMT-4","Etc/GMT-4"} ,
|
|
|
+{"Etc/GMT-5","Etc/GMT-5"} ,
|
|
|
+{"Etc/GMT-6","Etc/GMT-6"} ,
|
|
|
+{"Etc/GMT-7","Etc/GMT-7"} ,
|
|
|
+{"Etc/GMT-8","Etc/GMT-8"} ,
|
|
|
+{"Etc/GMT-9","Etc/GMT-9"} ,
|
|
|
+{"Etc/GMT0","Etc/GMT0"} ,
|
|
|
+{"Etc/Greenwich","Etc/格林威治"} ,
|
|
|
+{"Etc/UCT","Etc/UCT"} ,
|
|
|
+{"Etc/UTC","Etc/UTC"} ,
|
|
|
+{"Etc/Universal","Etc/通用"} ,
|
|
|
+{"Etc/Zulu","Etc/祖鲁语"} ,
|
|
|
+{"Europe/Amsterdam","欧洲/阿姆斯特丹"} ,
|
|
|
+{"Europe/Andorra","欧洲/安道尔"} ,
|
|
|
+{"Europe/Astrakhan","欧洲/阿斯特拉罕"} ,
|
|
|
+{"Europe/Athens","欧洲/雅典"} ,
|
|
|
+{"Europe/Belfast","欧洲/贝尔法斯特"} ,
|
|
|
+{"Europe/Belgrade","欧洲/贝尔格莱德"} ,
|
|
|
+{"Europe/Berlin","欧洲/柏林"} ,
|
|
|
+{"Europe/Bratislava","欧洲/布拉迪斯拉发"} ,
|
|
|
+{"Europe/Brussels","欧洲/布鲁塞尔"} ,
|
|
|
+{"Europe/Bucharest","欧洲/布加勒斯特"} ,
|
|
|
+{"Europe/Budapest","欧洲/布达佩斯"} ,
|
|
|
+{"Europe/Busingen","欧洲/布辛根"} ,
|
|
|
+{"Europe/Chisinau","欧洲/基希讷乌"} ,
|
|
|
+{"Europe/Copenhagen","欧洲/哥本哈根"} ,
|
|
|
+{"Europe/Dublin","欧洲/都柏林"} ,
|
|
|
+{"Europe/Gibraltar","欧洲/直布罗陀"} ,
|
|
|
+{"Europe/Guernsey","欧洲/根西岛"} ,
|
|
|
+{"Europe/Helsinki","欧洲/赫尔辛基"} ,
|
|
|
+{"Europe/Isle_of_Man","欧洲/马恩岛"} ,
|
|
|
+{"Europe/Istanbul","欧洲/伊斯坦布尔"} ,
|
|
|
+{"Europe/Jersey","欧洲/泽西岛"} ,
|
|
|
+{"Europe/Kaliningrad","欧洲/加里宁格勒"} ,
|
|
|
+{"Europe/Kiev","欧洲/基辅"} ,
|
|
|
+{"Europe/Kirov","欧洲/基洛夫"} ,
|
|
|
+{"Europe/Kyiv","欧洲/基辅"} ,
|
|
|
+{"Europe/Lisbon","欧洲/里斯本"} ,
|
|
|
+{"Europe/Ljubljana","欧洲/卢布尔雅那"} ,
|
|
|
+{"Europe/London","欧洲/伦敦"} ,
|
|
|
+{"Europe/Luxembourg","欧洲/卢森堡"} ,
|
|
|
+{"Europe/Madrid","欧洲/马德里"} ,
|
|
|
+{"Europe/Malta","欧洲/马耳他"} ,
|
|
|
+{"Europe/Mariehamn","欧洲/玛丽港"} ,
|
|
|
+{"Europe/Minsk","欧洲/明斯克"} ,
|
|
|
+{"Europe/Monaco","欧洲/摩纳哥"} ,
|
|
|
+{"Europe/Moscow","欧洲/莫斯科"} ,
|
|
|
+{"Europe/Nicosia","欧洲/尼科西亚"} ,
|
|
|
+{"Europe/Oslo","欧洲/奥斯陆"} ,
|
|
|
+{"Europe/Paris","欧洲/巴黎"} ,
|
|
|
+{"Europe/Podgorica","欧洲/波德戈里察"} ,
|
|
|
+{"Europe/Prague","欧洲/布拉格"} ,
|
|
|
+{"Europe/Riga","欧洲/里加"} ,
|
|
|
+{"Europe/Rome","欧洲/罗马"} ,
|
|
|
+{"Europe/Samara","欧洲/萨马拉"} ,
|
|
|
+{"Europe/San_Marino","欧洲/圣马力诺"} ,
|
|
|
+{"Europe/Sarajevo","欧洲/萨拉热窝"} ,
|
|
|
+{"Europe/Saratov","欧洲/萨拉托夫"} ,
|
|
|
+{"Europe/Simferopol","欧洲/辛菲罗波尔"} ,
|
|
|
+{"Europe/Skopje","欧洲/斯科普里"} ,
|
|
|
+{"Europe/Sofia","欧洲/索非亚"} ,
|
|
|
+{"Europe/Stockholm","欧洲/斯德哥尔摩"} ,
|
|
|
+{"Europe/Tallinn","欧洲/塔林"} ,
|
|
|
+{"Europe/Tirane","欧洲/地拉那"} ,
|
|
|
+{"Europe/Tiraspol","欧洲/蒂拉斯波尔"} ,
|
|
|
+{"Europe/Ulyanovsk","欧洲/乌里扬诺夫斯克"} ,
|
|
|
+{"Europe/Uzhgorod","欧洲/乌日哥罗德"} ,
|
|
|
+{"Europe/Vaduz","欧洲/瓦杜兹"} ,
|
|
|
+{"Europe/Vatican","欧洲/梵蒂冈"} ,
|
|
|
+{"Europe/Vienna","欧洲/维也纳"} ,
|
|
|
+{"Europe/Vilnius","欧洲/维尔纽斯"} ,
|
|
|
+{"Europe/Volgograd","欧洲/伏尔加格勒"} ,
|
|
|
+{"Europe/Warsaw","欧洲/华沙"} ,
|
|
|
+{"Europe/Zagreb","欧洲/萨格勒布"} ,
|
|
|
+{"Europe/Zaporozhye","欧洲/扎波罗热"} ,
|
|
|
+{"Europe/Zurich","欧洲/苏黎世"} ,
|
|
|
+{"GB","国标"} ,
|
|
|
+{"GB-Eire","英国-爱尔兰"} ,
|
|
|
+{"GMT","格林威治标准时间"} ,
|
|
|
+{"GMT+0","格林威治标准时间+0"} ,
|
|
|
+{"GMT-0","GMT-0"} ,
|
|
|
+{"GMT0","格林威治标准时间0"} ,
|
|
|
+{"Greenwich","格林威治"} ,
|
|
|
+{"HST","高温试验"} ,
|
|
|
+{"Hongkong","香港"} ,
|
|
|
+{"Iceland","冰岛"} ,
|
|
|
+{"Indian/Antananarivo","印度/塔那那利佛"} ,
|
|
|
+{"Indian/Chagos","印第安人/查戈斯人"} ,
|
|
|
+{"Indian/Christmas","印度/圣诞节"} ,
|
|
|
+{"Indian/Cocos","印度/科科斯"} ,
|
|
|
+{"Indian/Comoro","印度/科摩罗"} ,
|
|
|
+{"Indian/Kerguelen","印度/凯尔盖朗"} ,
|
|
|
+{"Indian/Mahe","印度/马埃岛"} ,
|
|
|
+{"Indian/Maldives","印度/马尔代夫"} ,
|
|
|
+{"Indian/Mauritius","印度/毛里求斯"} ,
|
|
|
+{"Indian/Mayotte","印度/马约特岛"} ,
|
|
|
+{"Indian/Reunion","印度/留尼汪岛"} ,
|
|
|
+{"Iran","伊朗"} ,
|
|
|
+{"Israel","以色列"} ,
|
|
|
+{"Jamaica","牙买加"} ,
|
|
|
+{"Japan","日本"} ,
|
|
|
+{"Kwajalein","夸贾林环礁"} ,
|
|
|
+{"Libya","利比亚"} ,
|
|
|
+{"MET","梅特"} ,
|
|
|
+{"MST","MST"} ,
|
|
|
+{"MST7MDT","MST7MDT"} ,
|
|
|
+{"Mexico/BajaNorte","墨西哥/北下巴"} ,
|
|
|
+{"Mexico/BajaSur","墨西哥/巴哈苏尔"} ,
|
|
|
+{"Mexico/General","墨西哥/一般"} ,
|
|
|
+{"NZ","新西兰"} ,
|
|
|
+{"NZ-CHAT","新西兰聊天室"} ,
|
|
|
+{"Navajo","纳瓦霍语"} ,
|
|
|
+{"PRC","中国"} ,
|
|
|
+{"PST8PDT","PST8PDT"} ,
|
|
|
+{"Pacific/Apia","太平洋/阿皮亚"} ,
|
|
|
+{"Pacific/Auckland","太平洋/奥克兰"} ,
|
|
|
+{"Pacific/Bougainville","太平洋/布干维尔岛"} ,
|
|
|
+{"Pacific/Chatham","太平洋/查塔姆"} ,
|
|
|
+{"Pacific/Chuuk","太平洋/楚克"} ,
|
|
|
+{"Pacific/Easter","太平洋/复活节"} ,
|
|
|
+{"Pacific/Efate","太平洋/埃法特"} ,
|
|
|
+{"Pacific/Enderbury","太平洋/恩德伯里"} ,
|
|
|
+{"Pacific/Fakaofo","太平洋/法考福"} ,
|
|
|
+{"Pacific/Fiji","太平洋/斐济"} ,
|
|
|
+{"Pacific/Funafuti","太平洋/富纳富提"} ,
|
|
|
+{"Pacific/Galapagos","太平洋/加拉帕戈斯群岛"} ,
|
|
|
+{"Pacific/Gambier","太平洋/甘比尔"} ,
|
|
|
+{"Pacific/Guadalcanal","太平洋/瓜达尔卡纳尔岛"} ,
|
|
|
+{"Pacific/Guam","太平洋/关岛"} ,
|
|
|
+{"Pacific/Honolulu","太平洋/檀香山"} ,
|
|
|
+{"Pacific/Johnston","太平洋/约翰斯顿"} ,
|
|
|
+{"Pacific/Kanton","太平洋/关东"} ,
|
|
|
+{"Pacific/Kiritimati","太平洋/基里蒂马蒂"} ,
|
|
|
+{"Pacific/Kosrae","太平洋/科斯雷"} ,
|
|
|
+{"Pacific/Kwajalein","太平洋/夸贾林环礁"} ,
|
|
|
+{"Pacific/Majuro","太平洋/马朱罗"} ,
|
|
|
+{"Pacific/Marquesas","太平洋/马克萨斯"} ,
|
|
|
+{"Pacific/Midway","太平洋/中途岛"} ,
|
|
|
+{"Pacific/Nauru","太平洋/瑙鲁"} ,
|
|
|
+{"Pacific/Niue","太平洋/纽埃"} ,
|
|
|
+{"Pacific/Norfolk","太平洋/诺福克"} ,
|
|
|
+{"Pacific/Noumea","太平洋/努美阿"} ,
|
|
|
+{"Pacific/Pago_Pago","太平洋/帕果"} ,
|
|
|
+{"Pacific/Palau","太平洋/帕劳"} ,
|
|
|
+{"Pacific/Pitcairn","太平洋/皮特凯恩"} ,
|
|
|
+{"Pacific/Pohnpei","太平洋/波纳佩"} ,
|
|
|
+{"Pacific/Ponape","太平洋/波纳佩"} ,
|
|
|
+{"Pacific/Port_Moresby","太平洋/莫尔兹比港"} ,
|
|
|
+{"Pacific/Rarotonga","太平洋/拉罗汤加"} ,
|
|
|
+{"Pacific/Saipan","太平洋/塞班岛"} ,
|
|
|
+{"Pacific/Samoa","太平洋/萨摩亚"} ,
|
|
|
+{"Pacific/Tahiti","太平洋/大溪地"} ,
|
|
|
+{"Pacific/Tarawa","太平洋/塔拉瓦"} ,
|
|
|
+{"Pacific/Tongatapu","太平洋/汤加塔布岛"} ,
|
|
|
+{"Pacific/Truk","太平洋/特鲁克"} ,
|
|
|
+{"Pacific/Wake","太平洋/威克"} ,
|
|
|
+{"Pacific/Wallis","太平洋/沃利斯"} ,
|
|
|
+{"Pacific/Yap","太平洋/雅浦岛"} ,
|
|
|
+{"Poland","波兰"} ,
|
|
|
+{"Portugal","葡萄牙"} ,
|
|
|
+{"ROC","ROC"} ,
|
|
|
+{"ROK","韩国"} ,
|
|
|
+{"Singapore","新加坡"} ,
|
|
|
+{"Turkey","Turkey"} ,
|
|
|
+{"UCT","世界标准时间"} ,
|
|
|
+{"US/Alaska","美国/阿拉斯加"} ,
|
|
|
+{"US/Aleutian","美国/阿留申群岛"} ,
|
|
|
+{"US/Arizona","美国/亚利桑那州"} ,
|
|
|
+{"US/Central","美国/中部"} ,
|
|
|
+{"US/East-Indiana","美国/东印第安纳州"} ,
|
|
|
+{"US/Eastern","美国/东部"} ,
|
|
|
+{"US/Hawaii","美国/夏威夷"} ,
|
|
|
+{"US/Indiana-Starke","美国/印第安纳州斯塔克"} ,
|
|
|
+{"US/Michigan","美国/密歇根州"} ,
|
|
|
+{"US/Mountain","美国/山地"} ,
|
|
|
+{"US/Pacific","美国/太平洋地区"} ,
|
|
|
+{"US/Samoa","美国/萨摩亚"} ,
|
|
|
+{"UTC","世界标准时间"} ,
|
|
|
+{"Universal","Universal"} ,
|
|
|
+{"W-SU","W-SU"} ,
|
|
|
+{"WET","WET"} ,
|
|
|
+{"Zulu","Zulu"}
|
|
|
+ };
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取国家或城市当地时间
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="country"></param>
|
|
|
+ /// <param name="city"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public static DateTime? GetCountryOrCityCurrentDateTime(string country, string city)
|
|
|
+ {
|
|
|
+ DateTime? currDt = null;
|
|
|
+
|
|
|
+ var currTimezones = _timeZoneCityMappings.Where(x => x.Value.Contains(city)).ToList();
|
|
|
+ if (!currTimezones.Any()) {
|
|
|
+
|
|
|
+ currTimezones = _timeZoneCityMappings.Where(x => x.Value.Contains(country)).ToList();
|
|
|
+
|
|
|
+
|
|
|
+ };
|
|
|
+ string timeZoneId = string.Empty;
|
|
|
+ if (currTimezones.Count > 1)
|
|
|
+ {
|
|
|
+ currTimezones = currTimezones.Where(x => x.Value.Contains(country)).ToList();
|
|
|
+ timeZoneId = currTimezones.FirstOrDefault().Key ?? string.Empty;
|
|
|
+ }else timeZoneId = currTimezones.FirstOrDefault().Key ?? string.Empty;
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(timeZoneId)) return currDt;
|
|
|
+
|
|
|
+ // Step 1: 获取当前 UTC 时间
|
|
|
+ Instant now = SystemClock.Instance.GetCurrentInstant();
|
|
|
+
|
|
|
+ // Step 2: 加载目标时区(以 "Asia/Shanghai" 为例)
|
|
|
+ var timeZone = DateTimeZoneProviders.Tzdb[timeZoneId];
|
|
|
+
|
|
|
+ if (timeZone == null) return currDt;
|
|
|
+
|
|
|
+ // Step 3: 将 UTC 时间转换为目标时区的本地时间
|
|
|
+ currDt = now.InZone(timeZone).ToDateTimeUnspecified();
|
|
|
+
|
|
|
+ return currDt;
|
|
|
+ }
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|