Java中的时区类TimeZone的用法

    xiaoxiao2021-03-25  150

    TimeZone 表示时区偏移量,也可以计算夏令时。

    在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone;因为不同的时区,时间不同。

    下面说说TimeZone对象的 2种常用创建方式

    1.获取默认的TimeZone对象

    TimeZone tz = TimeZone.getDefault() 2.使用 getTimeZone(String id) 方法获取TimeZone对象

    // 获取 “GMT+08:00”对应的时区 TimeZone china = TimeZone.getTimeZone("GMT+:08:00"); // 获取 “中国/重庆”对应的时区 TimeZone chongqing = TimeZone.getTimeZone("Asia/Chongqing"); 关于 getTimeZone(String id) 这种方式支持的全部id参数的取值,可以通过以下方式查找:

    String[] ids = TimeZone.getAvailableIDs(); for (String id:ids) System.out.printf(id+", ");

    GMT 时间(格林时间) 即中央时区时间,北京时间是在东八区,所以北京时间= 格林时间+8小时.

    java中得到GMT时间的大代码片段如下:

    Calendar cd = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("EEE d MMM yyyy HH:mm:ss 'GMT'", Locale.US); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); // 设置时区为GMT String str = sdf.format(cd.getTime()); System.out.println(str); 2012 00:52:42 GMT // 北京时间:02 08:52:42 CST 2012 这里SimpleDateFormat构造函数中的第一个参数是格式化输出参数,也可根据需要指定: 比如我只需要小时:分钟:秒, 则把第一个参数改为: “HH:mm:ss” 即可。

    输出: 00:52:42

    转载请注明原文地址: https://ju.6miu.com/read-12743.html

    最新回复(0)