Esempio n. 1
0
 /// <summary>
 /// 获取当前国家与世界协调时(UTC)相差的小时差
 /// 大洲及分类无具体定义,按默认UTC+0输出
 /// </summary>
 /// <param name="country"></param>
 /// <returns></returns>
 public static double GetCountryUTCTimeDifference(M49 country)
 {
     return(GlobalRegionData.M49CountryInfos.Where(d => d.Key == country).Select(d => d.Value.UTCTimeSpan.TotalHours).First());
     //switch (country)
     //{
     //    // UTC/GMT -11小时 (西十一区)
     //    case M49.AmericanSamoa美属萨摩亚:
     //    case M49.Niue纽埃:
     //        return -11;
     //    // UTC/GMT -10小时 (西十区)
     //    case M49.CookIslands库克群岛:
     //    case M49.FrenchPolynesia法属波利尼西亚:
     //        return -10;
     //    // UTC/GMT -8小时 (西八区)
     //    case M49.Pitcairn皮特凯恩:
     //        return -10;
     //    // UTC/GMT -6小时 (西六区)
     //    case M49.Belize伯利兹:
     //    case M49.CostaRica哥斯达黎加:
     //    case M49.ElSalvador萨尔瓦多:
     //    case M49.Guatemala危地马拉:
     //    case M49.Honduras洪都拉斯:
     //    case M49.Mexico墨西哥:
     //    case M49.Nicaragua尼加拉瓜:
     //        return -6;
     //    // UTC/GMT -5小时 (西五区)
     //    case M49.CaymanIslands开曼群岛:
     //    case M49.Cuba古巴:
     //    case M49.Haiti海地:
     //    case M49.Jamaica牙买加:
     //    case M49.TurksandCaicosIslands特克斯和凯科斯群岛:
     //    case M49.Panama巴拿马:
     //    case M49.Colombia哥伦比亚:
     //    case M49.Ecuador厄瓜多尔:
     //    case M49.Peru秘鲁:
     //    case M49.Canada加拿大:
     //    case M49.UnitedStatesOfAmerica美利坚合众国:
     //        return -5;
     //    // UTC/GMT -4小时 (西四区)
     //    case M49.Anguilla安圭拉:
     //    case M49.AntiguaandBarbuda安提瓜和巴布达:
     //    case M49.Aruba阿鲁巴:
     //    case M49.Bahamas巴哈马:
     //    case M49.Barbados巴巴多斯:
     //    case M49.BonaireSaintEustatiusAndSaba博奈尔圣尤斯特歇斯和萨巴:
     //    case M49.BritishVirginIslands英属维尔京群岛:
     //    case M49.Curaçao库拉索:
     //    case M49.Dominica多米尼克:
     //    case M49.DominicanRepublic多米尼加共和国:
     //    case M49.Grenada格林纳达:
     //    case M49.Guadeloupe瓜德罗普:
     //    case M49.Martinique马提尼克:
     //    case M49.Montserrat蒙特塞拉特:
     //    case M49.PuertoRico波多黎各:
     //    case M49.SaintBarts圣巴泰勒米:
     //    case M49.SaintKittsandNevis圣基茨和尼维斯:
     //    case M49.SaintLucia圣卢西亚:
     //    case M49.SaintMartin圣马丁法属部分:
     //    case M49.SaintVincentandtheGrenadines圣文森特和格林纳丁斯:
     //    case M49.SintMaarten圣马丁荷属部分:
     //    case M49.TrinidadandTobago特立尼达和多巴哥:
     //    case M49.UnitedStatesVirginIslands美属维尔京群岛:
     //    case M49.Bolivia玻利维亚:
     //    case M49.Chile智利:
     //    case M49.Guyana圭亚那:
     //    case M49.Paraguay巴拉圭:
     //    case M49.Venezuela委内瑞拉:
     //    case M49.Bermuda百慕大:
     //        return -4;
     //    // UTC/GMT -3小时 (西三区)
     //    case M49.Argentina阿根廷:
     //    case M49.Brazil巴西:
     //    case M49.FalklandIslandsMalvinas福克兰群岛马尔维纳斯群岛:
     //    case M49.FrenchGuiana法属圭亚那:
     //    case M49.Suriname苏里南:
     //    case M49.Uruguay乌拉圭:
     //    case M49.Greenland格陵兰:
     //    case M49.SaintPierreandMiquelon圣皮埃尔和密克隆:
     //        return -3;
     //    // UTC/GMT -1小时 (西一区)
     //    case M49.CaboVerde佛得角:
     //        return -1;
     //    // UTC/GMT 0小时 (零时区)
     //    case M49.Morocco摩洛哥:
     //    case M49.WesternSahara西撒哈拉:
     //    case M49.BurkinaFaso布基纳法索:
     //    case M49.CotedIvoire科特迪瓦:
     //    case M49.Gambia冈比亚:
     //    case M49.Ghana加纳:
     //    case M49.Guinea几内亚:
     //    case M49.GuineaBissau几内亚比绍:
     //    case M49.Liberia利比里亚:
     //    case M49.Mali马里:
     //    case M49.Mauritania毛里塔尼亚:
     //    case M49.SaintHelena圣赫勒拿:
     //    case M49.Senegal塞内加尔:
     //    case M49.SierraLeone塞拉利昂:
     //    case M49.Togo多哥:
     //    case M49.ChannelIslands海峡群岛:
     //    case M49.FaeroeIslands法罗群岛:
     //    case M49.Guernsey根西:
     //    case M49.Iceland冰岛:
     //    case M49.IsleofMan马恩岛:
     //    case M49.Jersey泽西:
     //    case M49.Sark萨克:
     //    case M49.UK英国:
     //    case M49.Portugal葡萄牙:
     //        return 0;
     //    // UTC/GMT +1小时 (东一区)
     //    case M49.Angola安哥拉:
     //    case M49.Cameroon喀麦隆:
     //    case M49.CentralAfricanRepublic中非共和国:
     //    case M49.Chad乍得:
     //    case M49.Congo刚果:
     //    case M49.RDCongo刚果民主共和国:
     //    case M49.EquatorialGuinea赤道几内亚:
     //    case M49.Gabon加蓬:
     //    case M49.SaoTomeandPrincipe圣多美和普林西比:
     //    case M49.Algeria阿尔及利亚:
     //    case M49.Tunisia突尼斯:
     //    case M49.Benin贝宁:
     //    case M49.Niger尼日尔:
     //    case M49.Nigeria尼日利亚:
     //    case M49.Czech捷克:
     //    case M49.Hungary匈牙利:
     //    case M49.Poland波兰:
     //    case M49.Slovakia斯洛伐克:
     //    case M49.Denmark丹麦:
     //    case M49.Norway挪威:
     //    case M49.SvalbardandJanMayenIslands斯瓦尔巴群岛和扬马延岛:
     //    case M49.Sweden瑞典:
     //    case M49.Albania阿尔巴尼亚:
     //    case M49.Andorra安道尔:
     //    case M49.BosniaandHerzegovina波斯尼亚和黑塞哥维那:
     //    case M49.Croatia克罗地亚:
     //    case M49.Gibraltar直布罗陀:
     //    case M49.HolySee圣座:
     //    case M49.Italy意大利:
     //    case M49.Malta马耳他:
     //    case M49.Montenegro黑山:
     //    case M49.SanMarino圣马力诺:
     //    case M49.Serbia塞尔维亚:
     //    case M49.Slovenia斯洛文尼亚:
     //    case M49.Spain西班牙:
     //    case M49.Macedonia马其顿:
     //    case M49.Austria奥地利:
     //    case M49.Belgium比利时:
     //    case M49.France法国:
     //    case M49.Germany德国:
     //    case M49.Liechtenstein列支敦士登:
     //    case M49.Luxembourg卢森堡:
     //    case M49.Monaco摩纳哥:
     //    case M49.Netherlands荷兰:
     //    case M49.Switzerland瑞士:
     //        return 1;
     //    // UTC/GMT +2小时 (东二区)
     //    case M49.Burundi布隆迪:
     //    case M49.Malawi马拉维:
     //    case M49.Mozambique莫桑比克:
     //    case M49.Rwanda卢旺达:
     //    case M49.Zambia赞比亚:
     //    case M49.Zimbabwe津巴布韦:
     //    case M49.Egypt埃及:
     //    case M49.Libya利比亚:
     //    case M49.Sudan苏丹:
     //    case M49.Botswana博茨瓦纳:
     //    case M49.Lesotho莱索托:
     //    case M49.Namibia纳米比亚:
     //    case M49.SouthAfrica南非:
     //    case M49.Swaziland斯威士兰:
     //    case M49.Cyprus塞浦路斯:
     //    case M49.Israel以色列:
     //    case M49.Jordan约旦:
     //    case M49.Lebanon黎巴嫩:
     //    case M49.Palestine巴勒斯坦:
     //    case M49.Bulgaria保加利亚:
     //    case M49.Moldova摩尔多瓦:
     //    case M49.Syrian叙利亚:
     //    case M49.Romania罗马尼亚:
     //    case M49.Ukraine乌克兰:
     //    case M49.AlandIslands奥兰群岛:
     //    case M49.Estonia爱沙尼亚:
     //    case M49.Finland芬兰:
     //    case M49.Latvia拉托维亚:
     //    case M49.Lithuania立陶宛:
     //    case M49.Greece希腊:
     //        return 2;
     //    // UTC/GMT +3小时 (东三区)
     //    case M49.Comoros科摩罗:
     //    case M49.Djibouti吉布提:
     //    case M49.Eritrea厄立特里亚:
     //    case M49.Ethiopia埃塞俄比亚:
     //    case M49.Kenya肯尼亚:
     //    case M49.Madagascar马达加斯加:
     //    case M49.Mayotte马约特:
     //    case M49.Somalia索马里:
     //    case M49.SouthSudan南苏丹:
     //    case M49.Uganda乌干达:
     //    case M49.Tanzania坦桑尼亚:
     //    case M49.Bahrain巴林:
     //    case M49.Iraq伊拉克:
     //    case M49.Kuwait科威特:
     //    case M49.Qatar卡塔尔:
     //    case M49.SaudiArabia沙特阿拉伯:
     //    case M49.Turkey土耳其:
     //    case M49.Yemen也门:
     //    case M49.Belarus白俄罗斯:
     //    case M49.Russia俄罗斯:
     //        return 3;
     //    // UTC/GMT +3.5小时
     //    case M49.Iran伊朗:
     //        return 3.5;
     //    // UTC/GMT +4小时 (东四区)
     //    case M49.Mauritius毛里求斯:
     //    case M49.Reunion留尼汪:
     //    case M49.Seychelles塞舌尔:
     //    case M49.Armenia亚美尼亚:
     //    case M49.Azerbaijan阿塞拜疆:
     //    case M49.Georgia格鲁吉亚:
     //    case M49.Oman阿曼:
     //    case M49.UAE阿联酋:
     //        return 4;
     //    // UTC/GMT +4.5小时
     //    case M49.Afghanistan阿富汗:
     //        return 4.5;
     //    // UTC/GMT +5小时 (东五区)
     //    case M49.Tajikistan塔吉克斯坦:
     //    case M49.Turkmenistan土库曼斯坦:
     //    case M49.Uzbekistan乌兹别克斯坦:
     //    case M49.Maldives马尔代夫:
     //    case M49.Pakistan巴基斯坦:
     //        return 5;
     //    // UTC/GMT +5.5小时
     //    case M49.India印度:
     //    case M49.SriLanka斯里兰卡:
     //        return 5.5;
     //    // UTC/GMT +5小时45分
     //    case M49.Nepal尼泊尔:
     //        return 5.75;
     //    // UTC/GMT +6小时 (东六区)
     //    case M49.Kazakhstan哈萨克斯坦:
     //    case M49.Kyrgyzstan吉尔吉斯斯坦:
     //    case M49.Bangladesh孟加拉国:
     //    case M49.Bhutan不丹:
     //        return 6;
     //    // UTC/GMT +6.5小时
     //    case M49.Myanmar缅甸:
     //        return 6.5;
     //    // UTC/GMT +7小时 (东七区)
     //    case M49.Cambodia柬埔寨:
     //    case M49.Indonesia印度尼西亚:
     //    case M49.Laos老挝:
     //    case M49.Thailand泰国:
     //    case M49.VietNam越南:
     //        return 7;
     //    // UTC/GMT +8小时 (东八区)
     //    case M49.China中国:
     //    case M49.HongKong香港:
     //    case M49.Macao澳门:
     //    case M49.Mongolia蒙古:
     //    case M49.Brunei文莱:
     //    case M49.Malaysia马来西亚:
     //    case M49.Philippines菲律宾:
     //    case M49.Singapore新加坡:
     //        return 8;
     //    // UTC/GMT +9小时 (东九区)
     //    case M49.Japan日本:
     //    case M49.KoreaDPR朝鲜:
     //    case M49.Korea韩国:
     //    case M49.TimorLeste东帝汶:
     //    case M49.Palau帕劳:
     //        return 9;
     //    // UTC/GMT +10小时 (东十区)
     //    case M49.Australia澳大利亚:
     //    case M49.PapuaNewGuinea巴布亚新几内亚:
     //    case M49.Guam关岛:
     //    case M49.NorthernMarianaIslands北马里亚纳群岛:
     //        return 10;
     //    // UTC/GMT +11小时 (东十一区)
     //    case M49.NorfolkIsland诺福克岛:
     //    case M49.NewCaledonia新喀里多尼亚:
     //    case M49.SolomonIslands所罗门群岛:
     //    case M49.Vanuatu瓦努阿图:
     //    case M49.Micronesia密克罗尼西亚联邦:
     //        return 11;
     //    // UTC/GMT +12小时 (东十二区)
     //    case M49.NewZealand新西兰:
     //    case M49.Fiji斐济:
     //    case M49.Kiribati基里巴斯:
     //    case M49.MarshallIslands马绍尔群岛:
     //    case M49.Nauru瑙鲁:
     //    case M49.Tuvalu图瓦卢:
     //    case M49.WallisandFutunaIslands瓦利斯和富图纳群岛:
     //        return 12;
     //    // UTC/GMT +13小时 (东十三区)
     //    case M49.Samoa萨摩亚:
     //    case M49.Tokelau托克劳:
     //    case M49.Tonga汤加:
     //        return 13;
     //    default:
     //        return 0;
     //}
 }
Esempio n. 2
0
        /// <summary>
        /// 获取当前国家的实时时间页面地址
        /// 大洲及分类无具体定义,默认返回跟地址
        /// </summary>
        /// <param name="country"></param>
        /// <returns></returns>
        public static string GetCountryTimeIsUrl(M49 country)
        {
            const string baseUrl = "https://time.is/";

            return($"{baseUrl}/{ GlobalRegionData.TimeIsKey.Where(d => d.Key == country).Select(d => d.Value).FirstOrDefault() }");
        }
Esempio n. 3
0
 /// <summary>
 /// 计算当前时间对应国家首都的时间
 /// </summary>
 /// <param name="dateTimeNow"></param>
 /// <param name="country"></param>
 /// <returns></returns>
 public static DateTime GetCountryTime(this DateTime dateTimeNow, M49 country)
 {
     return(dateTimeNow.ToUniversalTime().Add(TimeSpan.FromHours(GetCountryUTCTimeDifference(country))));
 }