LocalDateTime 时区转换,转指定时区

您所在的位置:网站首页 怎么获取当前时区 LocalDateTime 时区转换,转指定时区

LocalDateTime 时区转换,转指定时区

2024-07-14 18:48| 来源: 网络整理| 查看: 265

需求

服务器在国外,数据传到国内,LocalDateTime获取到的时间是国外时间,需要转换成国内时间,又或者服务器在国内,数据传到国外,需要转换成国外的时间。

直接上代码 /** * 获取指定时区的时间 * @author Riyue-陈奇 * @Date 2021-04-29 21:39 * @param localDateTime * @param zoneIdEnum * @return java.time.LocalDateTime **/ public static LocalDateTime getCustomizeLocalDateTime(LocalDateTime localDateTime, ZoneIdEnum zoneIdEnum){ // 当前系统时区 ZoneId currentZone = getZone(); // 新时区 ZoneId newZone = ZoneId.of(zoneIdEnum.getZoneIdName()); // 时区转换 return localDateTime.atZone(currentZone).withZoneSameInstant(newZone).toLocalDateTime(); } /** * 获取默认时区 * @Author Riyue-陈奇 * @Date 13:45 2020/12/18 * @return java.time.ZoneOffset **/ public static ZoneOffset getZone(){ return OffsetDateTime.now().getOffset(); } 常用时区枚举 public enum ZoneIdEnum { /** * "Australia/Darwin","澳洲/达尔文" */ ACT("Australia/Darwin", "澳洲/达尔文"), /** * "Australia/Sydney","澳洲/悉尼" */ AET("Australia/Sydney", "澳洲/悉尼"), /** * "America/Argentina/Buenos_Aires","美洲/阿根廷/布宜诺斯艾利斯" */ AGT("America/Argentina/Buenos_Aires", "美洲/阿根廷/布宜诺斯艾利斯"), /** * "Africa/Cairo","非洲/开罗" */ ART("Africa/Cairo", "非洲/开罗"), /** * "America/Anchorage","美洲/安克雷奇" */ AST("America/Anchorage", "美洲/安克雷奇"), /** * "America/Sao_Paulo","美洲/圣保罗" */ BET("America/Sao_Paulo", "美洲/圣保罗"), /** * "Asia/Dhaka","亚洲/达卡" */ BST("Asia/Dhaka", "亚洲/达卡"), /** * "Africa/Harare","非洲/哈拉雷" */ CAT("Africa/Harare", "非洲/哈拉雷"), /** * "America/St_Johns","美洲/圣约翰" */ CNT("America/St_Johns", "美洲/圣约翰"), /** * "America/Chicago","美洲/芝加哥" */ CST("America/Chicago", "美洲/芝加哥"), /** * "Asia/Shanghai","亚洲/上海" */ CTT("Asia/Shanghai", "亚洲/上海"), /** * "Africa/Addis_Ababa","非洲/亚的斯亚贝巴" */ EAT("Africa/Addis_Ababa", "非洲/亚的斯亚贝巴"), /** * "Europe/Paris","欧洲/巴黎" */ ECT("Europe/Paris", "欧洲/巴黎"), /** * "America/Indiana/Indianapolis","美洲/印第安纳州/印第安纳波利斯" */ IET("America/Indiana/Indianapolis", "美洲/印第安纳州/印第安纳波利斯"), /** * "Asia/Kolkata","亚洲/加尔各答" */ IST("Asia/Kolkata", "亚洲/加尔各答"), /** * "Asia/Tokyo","亚洲/东京" */ JST("Asia/Tokyo", "亚洲/东京"), /** * "Pacific/Apia","太平洋/阿皮亚" */ MIT("Pacific/Apia", "太平洋/阿皮亚"), /** * "Asia/Yerevan","亚洲/埃里温" */ NET("Asia/Yerevan", "亚洲/埃里温"), /** * "Pacific/Auckland","太平洋/奥克兰" */ NST("Pacific/Auckland", "太平洋/奥克兰"), /** * "Asia/Karachi","亚洲/卡拉奇" */ PLT("Asia/Karachi", "亚洲/卡拉奇"), /** * "America/Phoenix","美洲/凤凰城" */ PNT("America/Phoenix", "美洲/凤凰城"), /** * "America/Puerto_Rico","美洲/波多黎各" */ PRT("America/Puerto_Rico", "美洲/波多黎各"), /** * "America/Los_Angeles","美洲/洛杉矶" */ PST("America/Los_Angeles", "美洲/洛杉矶"), /** * "Pacific/Guadalcanal","太平洋/瓜达尔卡纳尔岛" */ SST("Pacific/Guadalcanal", "太平洋/瓜达尔卡纳尔岛"), /** * "Asia/Ho_Chi_Minh","亚洲/胡志明市" */ VST("Asia/Ho_Chi_Minh", "亚洲/胡志明市"), /** * "-05:00","东部标准时间"(纽约、华盛顿) */ EST("-05:00", "东部标准时间"), /** * "-07:00","山地标准时间" */ MST("-07:00", "山地标准时间"), /** * "-10:00","夏威夷-阿留申标准时区" */ HST("-10:00", "夏威夷-阿留申标准时区"),; private final String zoneIdName; private final String zoneIdNameCn; public String getZoneIdName() { return zoneIdName; } public String getZoneIdNameCn() { return zoneIdNameCn; } ZoneIdEnum(String zoneIdName, String zoneIdNameCn) { this.zoneIdName = zoneIdName; this.zoneIdNameCn = zoneIdNameCn; } }

参考:http://www.voidcn.com/article/p-srhlcsnx-bwa.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3