当前位置:网站首页>Calendar类和Date类转换时区 && 部分时区城市列表

Calendar类和Date类转换时区 && 部分时区城市列表

2022-08-09 08:51:00 super苏然


我们运行代码时,会默认为系统当前时区的时间。

Calendar:

若需要时区转换,可以通过TimeZone.setDefault(TimeZone.getTimeZone(“GMT+8”))直接定义默认的时区。

1、定义CN为系统默认时间,将时间输出。
2、将定义的US转换时区为美国的洛杉矶时区,将时间输出。
3、然后将US转换为中国的上海东八时区,将时间输出。

import java.util.Calendar;
import java.util.TimeZone;

public class test {
    

    public static void main(String[] args) {
    

        // 当前系统默认时区的时间:
        Calendar CN = Calendar.getInstance();
        System.out.print("时区:" + CN.getTimeZone().getID() + " ");
        System.out.println("时间:" + CN.get(Calendar.HOUR_OF_DAY) + ":" + CN.get(Calendar.MINUTE));

        // 美国洛杉矶时区
        Calendar US = Calendar.getInstance();
        TimeZone a = TimeZone.getTimeZone("America/Los_Angeles");
        // 时区转换
        US.setTimeZone(a);
        System.out.print("时区:" + US.getTimeZone().getID() + " ");
        System.out.println("时间:" + US.get(Calendar.HOUR_OF_DAY) + ":" + US.get(Calendar.MINUTE));
        //从洛杉矶时区转换为北京时间
        a = TimeZone.getTimeZone("Asia/Shanghai");
        US.setTimeZone(a);
        System.out.print("时区:" + US.getTimeZone().getID() + " ");
        System.out.println("时间:" + US.get(Calendar.HOUR_OF_DAY) + ":" + US.get(Calendar.MINUTE));
    }
}

结果如下:
在这里插入图片描述
1、可以看到我电脑本地的默认时间为上海时间,也就是北京时间东八区。
2、我们将时区转换为洛杉矶时区后输出的时间相差15个小时。这里要说一点,夏天时相差时间为15小时,其余月份相差16个小时,这里可以自行百度PST和PDT。
3、将US又转换为上海时区,可以看见,正确输出结果。


Date:

通过SimpleDateFormat类来定义输出格式,使用方法setTimeZone(TimeZone.getTimeZone(“America/Los_Angeles”))来定义时区,然后通过format () 方法输出。
其实Date本身为一个数,是固定的,只是随着时区不同,转换呈现出不同的样式。如下:

import java.text.SimpleDateFormat;
import java.util.*;

public class LongABC {
    
    public static void main(String[] args) {
    
        Date date = new Date();
        SimpleDateFormat abc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间:" + date + ", 北京时间:" + abc.format(date));
        abc.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
        System.out.println("当前时间:" + date + ", 美国洛杉矶时间:" + abc.format(date));
    }
}

结果:
在这里插入图片描述


时区 id 列表:

以下资料为转载:
https://www.cnblogs.com/sam-cheng/p/11286999.html.

<timezone id="Asia/Shanghai">中国标准时间 (北京)</timezone>
<timezone id="Asia/Hong_Kong">香港时间 (香港)</timezone>
<timezone id="Asia/Taipei">台北时间 (台北)</timezone>
<timezone id="Asia/Seoul">首尔</timezone>
<timezone id="Asia/Tokyo">日本时间 (东京)</timezone>
<timezone id="America/New_York">美国东部时间 (纽约)</timezone>
<timezone id="America/Denver">美国山区时间 (丹佛)</timezone>
<timezone id="America/Costa_Rica">美国中部时间 (哥斯达黎加)</timezone>
<timezone id="America/Chicago">美国中部时间 (芝加哥)</timezone>
<timezone id="America/Mexico_City">美国中部时间 (墨西哥城)</timezone>
<timezone id="America/Regina">美国中部时间 (里贾纳)</timezone>
<timezone id="America/Los_Angeles">美国太平洋时间 (洛杉矶)</timezone>
<timezone id="Pacific/Majuro">马朱罗</timezone>
<timezone id="Pacific/Midway">中途岛</timezone>
<timezone id="Pacific/Honolulu">檀香山</timezone>
<timezone id="America/Anchorage">安克雷奇</timezone>
<timezone id="America/Tijuana">美国太平洋时间 (提华纳)</timezone>
<timezone id="America/Phoenix">美国山区时间 (凤凰城)</timezone>
<timezone id="America/Chihuahua">奇瓦瓦</timezone>
<timezone id="America/Bogota">哥伦比亚时间 (波哥大)</timezone>
<timezone id="America/Caracas">委内瑞拉时间 (加拉加斯)</timezone>
<timezone id="America/Barbados">大西洋时间 (巴巴多斯)</timezone>
<timezone id="America/Manaus">亚马逊标准时间 (马瑙斯)</timezone>
<timezone id="America/St_Johns">纽芬兰时间 (圣约翰)</timezone>
<timezone id="America/Santiago">圣地亚哥</timezone>
<timezone id="America/Argentina/Buenos_Aires">布宜诺斯艾利斯</timezone>
<timezone id="America/Godthab">戈特霍布</timezone>
<timezone id="America/Montevideo">乌拉圭时间 (蒙得维的亚)</timezone>
<timezone id="America/Sao_Paulo">圣保罗</timezone>
<timezone id="Atlantic/South_Georgia">南乔治亚</timezone>
<timezone id="Atlantic/Azores">亚述尔群岛</timezone>
<timezone id="Atlantic/Cape_Verde">佛得角</timezone>
<timezone id="Africa/Casablanca">卡萨布兰卡</timezone>
<timezone id="Europe/London">格林尼治标准时间 (伦敦)</timezone>
<timezone id="Europe/Amsterdam">中欧标准时间 (阿姆斯特丹)</timezone>
<timezone id="Europe/Belgrade">中欧标准时间 (贝尔格莱德)</timezone>
<timezone id="Europe/Brussels">中欧标准时间 (布鲁塞尔)</timezone>
<timezone id="Europe/Sarajevo">中欧标准时间 (萨拉热窝)</timezone>
<timezone id="Africa/Brazzaville">西部非洲标准时间 (布拉扎维)</timezone>
<timezone id="Africa/Windhoek">温得和克</timezone>
<timezone id="Asia/Amman">东欧标准时间 (安曼)</timezone>
<timezone id="Europe/Athens">东欧标准时间 (雅典)</timezone>
<timezone id="Asia/Beirut">东欧标准时间 (贝鲁特)</timezone>
<timezone id="Africa/Cairo">东欧标准时间 (开罗)</timezone>
<timezone id="Europe/Helsinki">东欧标准时间 (赫尔辛基)</timezone>
<timezone id="Asia/Jerusalem">以色列时间 (耶路撒冷)</timezone>
<timezone id="Africa/Harare">中部非洲标准时间 (哈拉雷)</timezone>
<timezone id="Europe/Minsk">明斯克</timezone>
<timezone id="Asia/Baghdad">巴格达</timezone>
<timezone id="Europe/Moscow">莫斯科</timezone>
<timezone id="Asia/Kuwait">科威特</timezone>
<timezone id="Africa/Nairobi">东部非洲标准时间 (内罗毕)</timezone>
<timezone id="Asia/Tehran">伊朗标准时间 (德黑兰)</timezone>
<timezone id="Asia/Baku">巴库</timezone>
<timezone id="Asia/Tbilisi">第比利斯</timezone>
<timezone id="Asia/Yerevan">埃里温</timezone>
<timezone id="Asia/Dubai">迪拜</timezone>
<timezone id="Asia/Kabul">阿富汗时间 (喀布尔)</timezone>
<timezone id="Asia/Karachi">卡拉奇</timezone>
<timezone id="Asia/Oral">乌拉尔</timezone>
<timezone id="Asia/Yekaterinburg">叶卡捷林堡</timezone>
<timezone id="Asia/Calcutta">加尔各答</timezone>
<timezone id="Asia/Colombo">科伦坡</timezone>
<timezone id="Asia/Katmandu">尼泊尔时间 (加德满都)</timezone>
<timezone id="Asia/Almaty">阿拉木图</timezone>
<timezone id="Asia/Rangoon">缅甸时间 (仰光)</timezone>
<timezone id="Asia/Krasnoyarsk">克拉斯诺亚尔斯克</timezone>
<timezone id="Asia/Bangkok">曼谷</timezone>
<timezone id="Asia/Irkutsk">伊尔库茨克时间 (伊尔库茨克)</timezone>
<timezone id="Asia/Kuala_Lumpur">吉隆坡</timezone>
<timezone id="Australia/Perth">佩思</timezone>
<timezone id="Asia/Yakutsk">雅库茨克时间 (雅库茨克)</timezone>
<timezone id="Australia/Darwin">达尔文</timezone>
<timezone id="Australia/Brisbane">布里斯班</timezone>
<timezone id="Asia/Vladivostok">海参崴时间 (符拉迪沃斯托克)</timezone>
<timezone id="Pacific/Guam">关岛</timezone>
<timezone id="Australia/Adelaide">阿德莱德</timezone>
<timezone id="Australia/Hobart">霍巴特</timezone>
<timezone id="Australia/Sydney">悉尼</timezone>
<timezone id="Asia/Magadan">马加丹时间 (马加丹)</timezone>
<timezone id="Pacific/Auckland">奥克兰</timezone>
<timezone id="Pacific/Fiji">斐济</timezone>
<timezone id="Pacific/Tongatapu">东加塔布</timezone>
原网站

版权声明
本文为[super苏然]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_40555976/article/details/105934369