java graph_使用 Microsoft Graph 构建 Java 应用

package graphtutorial;

import java.time.ZoneId;

import java.util.Map;

// Basic lookup for mapping Windows time zone identifiers to

// IANA identifiers

// Mappings taken from

// https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml

public class GraphToIana {

private static final Map timeZoneIdMap =

Map.ofEntries(

Map.entry("Dateline Standard Time", "Etc/GMT+12"),

Map.entry("UTC-11", "Etc/GMT+11"),

Map.entry("Aleutian Standard Time", "America/Adak"),

Map.entry("Hawaiian Standard Time", "Pacific/Honolulu"),

Map.entry("Marquesas Standard Time", "Pacific/Marquesas"),

Map.entry("Alaskan Standard Time", "America/Anchorage"),

Map.entry("UTC-09", "Etc/GMT+9"),

Map.entry("Pacific Standard Time (Mexico)", "America/Tijuana"),

Map.entry("UTC-08", "Etc/GMT+8"),

Map.entry("Pacific Standard Time", "America/Los_Angeles"),

Map.entry("US Mountain Standard Time", "America/Phoenix"),

Map.entry("Mountain Standard Time (Mexico)", "America/Chihuahua"),

Map.entry("Mountain Standard Time", "America/Denver"),

Map.entry("Central America Standard Time", "America/Guatemala"),

Map.entry("Central Standard Time", "America/Chicago"),

Map.entry("Easter Island Standard Time", "Pacific/Easter"),

Map.entry("Central Standard Time (Mexico)", "America/Mexico_City"),

Map.entry("Canada Central Standard Time", "America/Regina"),

Map.entry("SA Pacific Standard Time", "America/Bogota"),

Map.entry("Eastern Standard Time (Mexico)", "America/Cancun"),

Map.entry("Eastern Standard Time", "America/New_York"),

Map.entry("Haiti Standard Time", "America/Port-au-Prince"),

Map.entry("Cuba Standard Time", "America/Havana"),

Map.entry("US Eastern Standard Time", "America/Indianapolis"),

Map.entry("Turks And Caicos Standard Time", "America/Grand_Turk"),

Map.entry("Paraguay Standard Time", "America/Asuncion"),

Map.entry("Atlantic Standard Time", "America/Halifax"),

Map.entry("Venezuela Standard Time", "America/Caracas"),

Map.entry("Central Brazilian Standard Time", "America/Cuiaba"),

Map.entry("SA Western Standard Time", "America/La_Paz"),

Map.entry("Pacific SA Standard Time", "America/Santiago"),

Map.entry("Newfoundland Standard Time", "America/St_Johns"),

Map.entry("Tocantins Standard Time", "America/Araguaina"),

Map.entry("E. South America Standard Time", "America/Sao_Paulo"),

Map.entry("SA Eastern Standard Time", "America/Cayenne"),

Map.entry("Argentina Standard Time", "America/Buenos_Aires"),

Map.entry("Greenland Standard Time", "America/Godthab"),

Map.entry("Montevideo Standard Time", "America/Montevideo"),

Map.entry("Magallanes Standard Time", "America/Punta_Arenas"),

Map.entry("Saint Pierre Standard Time", "America/Miquelon"),

Map.entry("Bahia Standard Time", "America/Bahia"),

Map.entry("UTC-02", "Etc/GMT+2"),

Map.entry("Azores Standard Time", "Atlantic/Azores"),

Map.entry("Cape Verde Standard Time", "Atlantic/Cape_Verde"),

Map.entry("UTC", "Etc/GMT"),

Map.entry("GMT Standard Time", "Europe/London"),

Map.entry("Greenwich Standard Time", "Atlantic/Reykjavik"),

Map.entry("Sao Tome Standard Time", "Africa/Sao_Tome"),

Map.entry("Morocco Standard Time", "Africa/Casablanca"),

Map.entry("W. Europe Standard Time", "Europe/Berlin"),

Map.entry("Central Europe Standard Time", "Europe/Budapest"),

Map.entry("Romance Standard Time", "Europe/Paris"),

Map.entry("Central European Standard Time", "Europe/Warsaw"),

Map.entry("W. Central Africa Standard Time", "Africa/Lagos"),

Map.entry("Jordan Standard Time", "Asia/Amman"),

Map.entry("GTB Standard Time", "Europe/Bucharest"),

Map.entry("Middle East Standard Time", "Asia/Beirut"),

Map.entry("Egypt Standard Time", "Africa/Cairo"),

Map.entry("E. Europe Standard Time", "Europe/Chisinau"),

Map.entry("Syria Standard Time", "Asia/Damascus"),

Map.entry("West Bank Standard Time", "Asia/Hebron"),

Map.entry("South Africa Standard Time", "Africa/Johannesburg"),

Map.entry("FLE Standard Time", "Europe/Kiev"),

Map.entry("Israel Standard Time", "Asia/Jerusalem"),

Map.entry("Kaliningrad Standard Time", "Europe/Kaliningrad"),

Map.entry("Sudan Standard Time", "Africa/Khartoum"),

Map.entry("Libya Standard Time", "Africa/Tripoli"),

Map.entry("Namibia Standard Time", "Africa/Windhoek"),

Map.entry("Arabic Standard Time", "Asia/Baghdad"),

Map.entry("Turkey Standard Time", "Europe/Istanbul"),

Map.entry("Arab Standard Time", "Asia/Riyadh"),

Map.entry("Belarus Standard Time", "Europe/Minsk"),

Map.entry("Russian Standard Time", "Europe/Moscow"),

Map.entry("E. Africa Standard Time", "Africa/Nairobi"),

Map.entry("Iran Standard Time", "Asia/Tehran"),

Map.entry("Arabian Standard Time", "Asia/Dubai"),

Map.entry("Astrakhan Standard Time", "Europe/Astrakhan"),

Map.entry("Azerbaijan Standard Time", "Asia/Baku"),

Map.entry("Russia Time Zone 3", "Europe/Samara"),

Map.entry("Mauritius Standard Time", "Indian/Mauritius"),

Map.entry("Saratov Standard Time", "Europe/Saratov"),

Map.entry("Georgian Standard Time", "Asia/Tbilisi"),

Map.entry("Volgograd Standard Time", "Europe/Volgograd"),

Map.entry("Caucasus Standard Time", "Asia/Yerevan"),

Map.entry("Afghanistan Standard Time", "Asia/Kabul"),

Map.entry("West Asia Standard Time", "Asia/Tashkent"),

Map.entry("Ekaterinburg Standard Time", "Asia/Yekaterinburg"),

Map.entry("Pakistan Standard Time", "Asia/Karachi"),

Map.entry("Qyzylorda Standard Time", "Asia/Qyzylorda"),

Map.entry("India Standard Time", "Asia/Calcutta"),

Map.entry("Sri Lanka Standard Time", "Asia/Colombo"),

Map.entry("Nepal Standard Time", "Asia/Katmandu"),

Map.entry("Central Asia Standard Time", "Asia/Almaty"),

Map.entry("Bangladesh Standard Time", "Asia/Dhaka"),

Map.entry("Omsk Standard Time", "Asia/Omsk"),

Map.entry("Myanmar Standard Time", "Asia/Rangoon"),

Map.entry("SE Asia Standard Time", "Asia/Bangkok"),

Map.entry("Altai Standard Time", "Asia/Barnaul"),

Map.entry("W. Mongolia Standard Time", "Asia/Hovd"),

Map.entry("North Asia Standard Time", "Asia/Krasnoyarsk"),

Map.entry("N. Central Asia Standard Time", "Asia/Novosibirsk"),

Map.entry("Tomsk Standard Time", "Asia/Tomsk"),

Map.entry("China Standard Time", "Asia/Shanghai"),

Map.entry("North Asia East Standard Time", "Asia/Irkutsk"),

Map.entry("Singapore Standard Time", "Asia/Singapore"),

Map.entry("W. Australia Standard Time", "Australia/Perth"),

Map.entry("Taipei Standard Time", "Asia/Taipei"),

Map.entry("Ulaanbaatar Standard Time", "Asia/Ulaanbaatar"),

Map.entry("Aus Central W. Standard Time", "Australia/Eucla"),

Map.entry("Transbaikal Standard Time", "Asia/Chita"),

Map.entry("Tokyo Standard Time", "Asia/Tokyo"),

Map.entry("North Korea Standard Time", "Asia/Pyongyang"),

Map.entry("Korea Standard Time", "Asia/Seoul"),

Map.entry("Yakutsk Standard Time", "Asia/Yakutsk"),

Map.entry("Cen. Australia Standard Time", "Australia/Adelaide"),

Map.entry("AUS Central Standard Time", "Australia/Darwin"),

Map.entry("E. Australia Standard Time", "Australia/Brisbane"),

Map.entry("AUS Eastern Standard Time", "Australia/Sydney"),

Map.entry("West Pacific Standard Time", "Pacific/Port_Moresby"),

Map.entry("Tasmania Standard Time", "Australia/Hobart"),

Map.entry("Vladivostok Standard Time", "Asia/Vladivostok"),

Map.entry("Lord Howe Standard Time", "Australia/Lord_Howe"),

Map.entry("Bougainville Standard Time", "Pacific/Bougainville"),

Map.entry("Russia Time Zone 10", "Asia/Srednekolymsk"),

Map.entry("Magadan Standard Time", "Asia/Magadan"),

Map.entry("Norfolk Standard Time", "Pacific/Norfolk"),

Map.entry("Sakhalin Standard Time", "Asia/Sakhalin"),

Map.entry("Central Pacific Standard Time", "Pacific/Guadalcanal"),

Map.entry("Russia Time Zone 11", "Asia/Kamchatka"),

Map.entry("New Zealand Standard Time", "Pacific/Auckland"),

Map.entry("UTC+12", "Etc/GMT-12"),

Map.entry("Fiji Standard Time", "Pacific/Fiji"),

Map.entry("Chatham Islands Standard Time", "Pacific/Chatham"),

Map.entry("UTC+13", "Etc/GMT-13"),

Map.entry("Tonga Standard Time", "Pacific/Tongatapu"),

Map.entry("Samoa Standard Time", "Pacific/Apia"),

Map.entry("Line Islands Standard Time", "Pacific/Kiritimati")

);

public static String getIanaFromWindows(String windowsTimeZone) {

String iana = timeZoneIdMap.get(windowsTimeZone);

// If a mapping was not found, assume the value passed

// was already an IANA identifier

return (iana == null) ? windowsTimeZone : iana;

}

public static ZoneId getZoneIdFromWindows(String windowsTimeZone) {

String timeZoneId = getIanaFromWindows(windowsTimeZone);

return ZoneId.of(timeZoneId);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值