是的,您应该在

Java 8中使用

Joda-Time或新的java.time包(受Joda-Time启发).

偏移量是从特定日期时间值表示的UTC(GMT)的小时数和分钟数.西海岸是-08:00(忽略夏令时废话),意味着比UTC晚8小时.

请注意,java.time在其初始版本中有一个小错误,它无法处理几分钟(例如08)的偏移而没有分钟(例如08:00).

A time zone是关于夏令时(DST)的偏移加规则,DST更改历史以及有关其他异常的信息.

使用适当的time zone names(主要是大陆斜线城市).避免使用3或4个字母代码,例如EST,它们既不是标准的也不是唯一的.

java.util.Date没有时区,而Joda-Time DateTime则没有.

要获取Web浏览器的时区,请参阅this question.但通常,这不起作用.正如您可能已经看到的,许多网站要求用户选择时区.

您确切的用例令人困惑.通常,最好的方法是使用UTC的日期时间值,然后根据需要调整用户的本地时间.通常最适合您的软件工作和存储日期时间为UTC.然后显示调整为适合用户的本地日期时间.换句话说,全局思考(UTC),在本地呈现(调整本地时区).

通常,系统管理员将其服务器计算机设置为UTC(无时区偏移).如果您的操作系统(如Mac OS X)不提供UTC,则使用Reykjavik,因为冰岛全年使用UTC而没有任何夏令时.同样,数据库引擎几乎总是将日期时间值转换为UTC以进行存储.

当您真正不关心时区或时间时,Joda-Time会提供LocalDate类.但通常最好使用日期时间(DateTime实例),并根据需要格式化仅限日期的字符串.

Joda-Time 2.3中的示例代码.

DateTimeZone timeZoneChina = DateTimeZone.forID( "Asia/Shanghai" );

DateTime dateTimeChina = new DateTime( 2013, 8, 29, 17, 45, 00, timeZoneChina );

DateTime dateTimeUtc = dateTimeChina.withZone( DateTimeZone.UTC );

DateTime dateTimeParis = dateTimeChina.withZone( DateTimeZone.forID( "Europe/Paris" ) );

DateTimeZone timeZoneUsWestCoast = DateTimeZone.forID( "America/Los_Angeles" );

DateTime dateTimeUnitedStatesWestCoast = dateTimeChina.withZone( timeZoneUsWestCoast );

DateTimeFormatter formatter = ISODateTimeFormat.date();

String outputDateOnlyForUnitedStatesWestCoast = formatter.withZone( timeZoneUsWestCoast ).print( dateTimeUtc );

转储到控制台……

System.out.println( "dateTimeChina: " + dateTimeChina );

System.out.println( "dateTimeUtc: " + dateTimeUtc );

System.out.println( "dateTimeParis: " + dateTimeParis );

System.out.println( "dateTimeUnitedStatesWestCoast: " + dateTimeUnitedStatesWestCoast );

System.out.println( "outputDateOnlyForUnitedStatesWestCoast: " + outputDateOnlyForUnitedStatesWestCoast );

跑的时候……

dateTimeChina: 2013-08-29T17:45:00.000+08:00

dateTimeUtc: 2013-08-29T09:45:00.000Z

dateTimeParis: 2013-08-29T11:45:00.000+02:00

dateTimeUnitedStatesWestCoast: 2013-08-29T02:45:00.000-07:00

outputDateOnlyForUnitedStatesWestCoast: 2013-08-29

java 夏令时区_java中的夏令时相关推荐

  1. java 夏令时区_Java中的夏令时问题

    因为在用C#做项目的时候被夏令时坑过一回,所以这次将在java中的时区转换信息做一下记录,很简单 SimpleDateFormat inputFormat = new SimpleDateFormat ...

  2. java timestamp时区_Java中Date及Timestamp时间相关内容(转)

    java.util.date java.sql.date java.sql.timestamp 整理一: java.sql.Date 只存储日期数据不存储时间数据 // 会丢失时间数据 prepare ...

  3. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  4. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信

    你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...

  5. java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园

    1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...

  6. java 序列化实例_Java中的序列化与反序列化实例

    创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...

  7. java 数据类型分为_JAVA中分为基本数据类型及引用数据类型

    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...

  8. java 代码锁_Java中的Lock锁

    Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...

  9. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

  10. java thread join()_Java中Thread.join()的使用方法

    概要 本文分三个部分对thread.join()进行分析: 1. join() 的示例和作用 2. join() 源码分析 3. 对网上其他分析 join() 的文章提出疑问 1. join() 的示 ...

最新文章

  1. matlab 无序数对,MATLAB中sort函数对矩阵数进行排序
  2. Gym - 102460A Rush Hour Puzzle(dfs迭代加深)
  3. Spring----最小化Spring配置
  4. uglifyjs报错 webpack_webpack3里使用uglifyjs压缩js时打包报错的解决
  5. js_组合继承(最常用的继承方式)
  6. VM虚拟机连Linux黑屏问题
  7. 确定了C/C++的学习路线之后,便只能是一条路走到黑了
  8. python学习(day1)初识入门
  9. 王者荣耀AI即将上线,队友再也不用担心你掉线了
  10. 全球最厉害的14位程序员
  11. 不再依赖A*,利用C++编写全新寻路算法
  12. 315.计算右侧小于当前元素的个数
  13. 资本纷纷入局,咖啡赛道还能香多久?
  14. Office ❀ PPT图形中的合并形状梳理
  15. win10计算机管理找不到用户,win10重装系统后管理账户不见了,win10怎么找到管理账户?...
  16. python台风动图绘制_python可视化绘图:台风路径可视化
  17. 大话云原生数据库中的存算分离
  18. Source Insight 4.0 序列号 license文件
  19. 打造新老员工双赢机制变对立为统一
  20. 为什么说施工是最蛋疼的工程行业

热门文章

  1. CAS132172-61-3阳离子脂质体DOTAP科研用
  2. 大动作,天津农学院专升本停招了吗
  3. Spring IoC容器设计原理及高级特性
  4. mysql-cluster安装与配置
  5. 王之泰201771010131《面向对象程序设计(java)》第十三周学习总结
  6. 无需软件网页星号密码查看
  7. Windows定时开机并开启工作软件
  8. 高德地图获取城市所有小区的POI
  9. 【LOJ6225】【网络流24题】火星探险问题
  10. OpenAI Gym 关于CartPole的模拟退火解法