Java Date and Time系列(六)- java.util.TimeZone介绍

原创 2013年12月04日 17:37:04

java.util.TimeZone是一个表示时区的类,如果需要跨时区转换日期,那么可以用java.util.Calendar和java.util.TimeZone联合完成。

可以用下面的方式来获取日历的时区:

Calendar calendar = new GregorianCalendar();
TimeZone timeZone = calendar.getTimeZone();
也可以通过set方法设置一个日历的时区:
calendar.setTimeZone(timeZone);

创建TimeZone实例
有两种方式可以用来创建一个TimeZone实例:

String[] availableIDs = TimeZone.getAvailableIDs();
for (String availableID : availableIDs) {
    System.out.println(availableID);
}

时区转换

我们可以通过给日历设置时区,使日历在不同的时区转换,比如下面这个例子:

TimeZone timeZone1 = TimeZone.getTimeZone("America/Los_Angeles");
TimeZone timeZone2 = TimeZone.getTimeZone("Europe/Copenhagen");

Calendar calendar = new GregorianCalendar();

long timeCPH = calendar.getTimeInMillis();
System.out.println("timeCPH  = " + timeCPH);
System.out.println("hour     = " + calendar.get(Calendar.HOUR_OF_DAY));

calendar.setTimeZone(timeZone1);

long timeLA = calendar.getTimeInMillis();
System.out.println("timeLA   = " + timeLA);
System.out.println("hour     = " + calendar.get(Calendar.HOUR_OF_DAY));
输出如下:

timeHere = 1264881305341
hour     = 20
timeLA   = 1264881305341
hour     = 11
我们发现虽然两个时区的毫秒数是一样的,但是时间表示上却有9个小时的时差。那是因为毫秒数是根据UTC时间(世界标准时间)获取的,
但是时间表示在不同的时区是不同的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java.util.TimeZone简介

java.util.TimeZone简介 java.util.TimeZone类的实例包含了一个与格林威治标准时间(GMT)相比较得出的以微秒为单位的时区偏移量,而且它还处理夏令时。...

Java时区TimeZone与操作系统时区不一致

今天发现刚写的Java小工具的日期功能出了问题。具体时间慢了11个小时。 检查了XP系统的日期、时区以及注册表中的相关选项,均无问题。 运行下列代码 import java.util.TimeZ...

Java Date and Time系列(七)- java.text.SimpleDateFormat介绍

java.text.SimpleDateFormat类我们一般用来它实现字符串于java.util.Date之间的互转,比如将Date实例转换为指定的字符串表示形式, 或者将一个字符串的日期表示转为具...

Java Date and Time系列(四)- java.sql.Date/java.sql.Time/java.sql.Timestamp介绍

java.sql.Date是在JDBC中使用的日期类,在JDBC操作中,如果需要设置一个日期或者从ResultSet获取日期值,就需要使用到java.sql.Date。实际上java.sql.Date...

Java Date and Time系列(五)- java.util.Calendar/java.util.GregorianCalendar介绍

java.util.Calendar是一个抽象类,它定义了日历相关的一系列操作,使用java.util.Calendar除了可以表示日期和时间,还可以用它来对时期或时间进行算术运算,比如获取当前日期1...

Java Date and Time系列(一)- 概述

Java中的时间和日期类型有好几种,很容易让初学者感到迷惑,本系列的目的就是把这些日期和时间的处理类型 放在一起做个介绍,让大家能对这些日期和时间处理类有个全面的了解。 Java中包含了以下的日期...

Java Date and Time系列(二)- System.currentTimeMillis()介绍

System.currentTimeMillis() 静态方法System.currentTimeMillis()返回1970-01-01 00:00:00.000到现在的毫秒数,返回值是一个lon...

【Learning】Java Date and Time

1. There are four commonly used date time classes in Java:  1.1 java.util.Date 1.2 java.sq...

mybatis异常invalid comparison: java.util.Date and java.lang.String

开发中改动mapper文件后需要重新编译发布, 由于工程比较大非常耗时, 所以为方便快速测试干脆写了一个小Java工程. 工程中用到的dao, mapper和实体类都是从工程中拷出来的, 数据...

探索 Java 中的 Date, Calendar, TimeZone 和Timestamp

探索 Java 中的 Date, Calendar, TimeZone 和Timestampjava 2010-12-31 08:56:49 阅读8 评论0  字号:大中小 订阅对象    宋晟 (s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)