小编ken*_*ood的帖子

为什么在Java日历对象上设置时区没有效果?

请考虑以下代码段.

    TimeZone tz = TimeZone.getTimeZone("GMT");
    System.out.println(tz);

    Calendar cal = Calendar.getInstance();
    cal.set(2017, Calendar.DECEMBER, 25);

    System.out.println("before setting time zone: " + cal.getTime());
    cal.setTimeZone(tz);

    System.out.println("after setting time zone: " + cal.getTime());
Run Code Online (Sandbox Code Playgroud)

结果如下:

sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
before setting time zone: Mon Dec 25 22:39:53 EST 2017 
after setting time zone: Mon Dec 25 22:39:53 EST 2017
Run Code Online (Sandbox Code Playgroud)

在时区更改后,为什么日期的打印输出仍显示EST?不应该是GMT吗?

java timezone datetime calendar date

-1
推荐指数
1
解决办法
628
查看次数

标签 统计

calendar ×1

date ×1

datetime ×1

java ×1

timezone ×1