Java中TimeZone类的常用方法
一、TimeZone类的定义
TimeZone类是一个抽象类,主要包含了对于时区的各种操作,可以进行计算时间偏移量或夏令时等操作
二、TimeZone类的常用方法
1、getAvailableIDs()
getAvailableIDs()
获取Java支持的所有时区ID
System.out.println(Arrays.toString(TimeZone.getAvailableIDs()));
getAvailableIDs(int rawOffset)
根据 时间偏移量 来获取时区ID
System.out.println(Arrays.toString(TimeZone.getAvailableIDs(28800000)));
2、getDefault()
获取当前系统的默认时区,中国默认为东八区
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getDefault());
3、setDefault(TimeZone zone)
设置当前系统的默认时区
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
// sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
System.out.println(TimeZone.getDefault());
4、getTimeZone()
getTimeZone(String ID)
根据 时区ID 来获取其对应的时区
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getTimeZone("GMT+08:00"));
getTimeZone(ZoneId zoneId)
根据 ZoneId 对象来获取其对应的时区
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getTimeZone(ZoneId.of("GMT+08:00")));
5、getDisplayName()
getDisplayName()
获取该TimeZone对象的时区名称
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中国标准时间
getDisplayName(Locale locale)
获取该TimeZone对象的时区名称
locale:提供时区名称的区域设置
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中国标准时间
System.out.println(timeZone.getDisplayName(Locale.ENGLISH)); // China Standard Time
getDisplayName(boolean daylight, int style)
获取该TimeZone对象的时区名称
daylight:若为true,则指定夏令时名称;若为false,则指定标准时间名称
style:
TimeZone.LONG:显示全称
TimeZone.SHORT:显示简称
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中国标准时间
System.out.println(timeZone.getDisplayName(false, TimeZone.LONG)); // 中国标准时间
System.out.println(timeZone.getDisplayName(false, TimeZone.SHORT)); // CST
getDisplayName(boolean daylight, int style, Locale locale)
获取该TimeZone对象的时区名称
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中国标准时间
System.out.println(timeZone.getDisplayName(false, TimeZone.LONG, Locale.ENGLISH)); // China Standard Time
6、setID(String ID) 和getID()
getID()
获取该TimeZone对象的时区ID
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getID()); // Asia/Shanghai
setID(String ID)
设置该TimeZone对象的时区ID
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
timeZone.setID("Asia/Chongqing");
System.out.println(timeZone.getID()); // Asia/Chongqing
7、getOffset(long date)
获取该时间所在时区的时间偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getOffset(System.currentTimeMillis())); // 28800000
8、getDSTSavings()
在夏令时规则生效时,返回相对于标准时间提前的毫秒数,如果此时区不实施夏令时,则为 0
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
// 国内没有夏令时,故为0
System.out.println(timeZone.getDSTSavings()); // 0
9、getRawOffset()
获取时间原始偏移量,该值不受夏令时的影响,故称为时间原始偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getRawOffset()); // 28800000
10、setRawOffset(int offsetMillis)
设置时间原始偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
timeZone.setRawOffset(25200000);
System.out.println(timeZone.getRawOffset()); // 25200000
11、toZoneId()
将TimeZone对象转换为ZoneId对象
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
ZoneId zoneId = timeZone.toZoneId();
System.out.println(zoneId); // Asia/Shanghai
12、useDaylightTime()
查询此时区是否使用夏令时
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.useDaylightTime()); // false
13、inDaylightTime(Date date)
查询给定的日期是否在此时区的夏令时中
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.inDaylightTime(new Date())); // false
14、hasSameRules(TimeZone other)
如果两时区仅ID不同,且具有相同的规则和时间偏移量,则返回true
如果另一个时区为空,则返回false
TimeZone timeZone1 = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone timeZone2 = TimeZone.getTimeZone("Asia/Chongqing");
System.out.println(timeZone1.hasSameRules(timeZone2)); // true
原文:https://blog.csdn.net/goodbye_youth/article/details/81807273
Java中TimeZone类的常用方法的更多相关文章
- java中File类的常用方法总结
java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...
- java 中String类的常用方法总结,带你玩转String类。
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java 中String类的常用方法总结,玩转String类
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- Java中BigDecimal类的常用方法
1.简介 BigDecimal类位于java.math.BigDecimal包下.使用此类可以完成大的小数操作,而且也可以使用此类进行精确的四舍五入,这一点在开发中经常使用. 对于不需要任何准确计算精 ...
- Java中String类的常用方法
判断功能的方法 public boolean equals (Object anObject) :将此字符串与指定对象进行比较. public boolean equalsIgnoreCase (St ...
- Java中StringBuffer类的常用方法
StringBuffer:StringBuffer类型 描述:在实际应用中,经常回遇到对字符串进行动态修改.这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加. ...
- java中Vector类的常用方法
Vector类是实现List接口,所以继承的方法就不在这里讲了 https://www.cnblogs.com/xiaostudy/p/9503199.html public void add(int ...
- Java中Math类的常用方法
public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println( ...
- Java中Calendar类的常用方法(对时间进行计算的类)
例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...
随机推荐
- 20155212 2016-2017-2 《Java程序设计》第3周学习总结
20155212 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 Chapter 4 要产生对象必须先定义类,类是对象的设计图,对象时类的实例. 一个原始码中 ...
- 20155220 2016-2017-2《Java程序设计》课程总结
20155220 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:师生关系 预备作业2:优秀技能经验 预备作业3:虚拟机linux初接触 第一周学习总结: ...
- Microsoft .NET Framework 安装未成功(证书方面)
问题:在为windows7 sp1安装framework 4.6.2的时候,有两次证书方面的报错 // 错误1: 无法建立到信任根颁发机构的证书链 // 错误2: 已处理证书链,但是在不受信任的根证书 ...
- day 6 汽车4S店铺
1.版本1:大框架 class CarStore(object): '''定义一个汽车店铺类''' pass class Car(object): '''定义一个汽车类''' pass car_sto ...
- mybatis mapper空指针异常的问题
发现是因为mysql表名不能为 x_x_x 这样的形式,最多只能有一个下划线,不能有多个,否则会找不到数据,进而导致空指针异常 上面的被推翻了,发现原来是因为没有注入mapper才导致空指针异常! ...
- 我们一起学习WCF 第八篇回调函数
什么是回调函数? 一个简单的例子:小明想要在京东购买一件商品.他会登陆网站选好自己的商品.然后他把这件商品放在购物车,然后开始付钱(这个表示触发,不付钱不发货(排除货到付款)).然后京东的人员收到了小 ...
- git远程版本回滚方法【转】
step1:本地代码回滚到上一版本(或者指定版本) git reset --hard HEAD~1 step2:加入-f参数,强制提交,远程端将强制跟新到reset版本 git push -f ori ...
- Charles连接苹果及JSON乱码情况解决
1. Charles的JSON乱码情况解决: 点击Charles界面上的help—SSL proxying—install Charles Root Certificate,将证书安装到[受信任的根 ...
- Http协议工作特点和工作原理笔记
工作特点: (1)B/S结构(Browser/Server,浏览器/服务器模式) (2)无状态 (3)简单快速.可使用超文本传输协议.灵活运行传输各种类型 工作原理: 客户端发送请求浏览器 -> ...
- dbtool一bug跟踪记
注:这篇日志是好多年前,我还在从兴公司时写的.现在都从从兴公司离职很久了,从兴也没落了,可惜.看了一下,虽然出现了部分代码,但不至于泄漏什么机密,查bug过程的原理也有可以让新手借鉴的地方,就原文照搬 ...