Java中的时区类TimeZone的用法

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java对世界不同时区之间的时间转换提供了非常方便的处理方法。主要的处理是`java.util.TimeZone`和`java.util.Calendar`。 首先,通过`TimeZone`可以获取世界上所有的时区列表,可以通过`getAvailableIDs()`方法来获取,返回一个包含所有时区ID的字符串数组。 然后,可以通过`TimeZone.getTimeZone(String)`方法来获取指定时区的`TimeZone`对象。这个方法接受一个时区ID作为参数,并返回对应的`TimeZone`对象。 接下来,使用`Calendar`来进行时间的转换操作。`Calendar`提供了许多方法,可以方便地进行日期和时间的计算、设置和获取。可以通过`Calendar.getInstance(TimeZone)`方法获取指定时区的`Calendar`实例。 对于时间转换,可以使用以下方法: - `setTimeZone(TimeZone)`:设置`Calendar`的时区。 - `get(int field)`:获取指定字段的值,例如年、月、日、小时、分钟等。 - `set(int field, int value)`:设置指定字段的值,例如年、月、日、小时、分钟等。 - `add(int field, int amount)`:增加或减少指定字段的值,例如增加一天、减少一小时等。 - `getTime()`:将`Calendar`对象转换为`Date`对象。 - `setTime(Date)`:将`Date`对象转换为`Calendar`对象。 通过这些方法,可以在不同的时区间进行时间的转换计算。可以根据不同的需求,在不同的场景下使用这些方法来处理世界不同时区之间的时间转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值