Java TimeZone.getTimeZone(“PDT”)无效
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java TimeZone.getTimeZone(“PDT”)无效,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2046字,纯文字阅读大概需要3分钟。
内容图文
![Java TimeZone.getTimeZone(“PDT”)无效](/upload/InfoBanner/zyjiaocheng/753/185facbe4bd143b3aca2dbe8f92c5973.jpg)
它返回GMT的默认时区.
使用带有“z”的SimpleTimeFormat作为时区,它打印“PDT”.但是“PDT”不在TimeZone.getAvailableIDs()返回的列表中.真奇怪!
任何人都知道为什么“PDT”不是标准的tz?怎么处理这个?有人调用我的API传递“PDT”作为时区.谢谢.
解决方法:
PDT不是时区
Anyone knows why “PDT” is not a standard tz?
因为“PDT”不是时区!
“PDT”是媒体使用的伪时区,用于模糊地指示一组时区加上指示符,如果他们打算在Daylight Saving Time (DST)参与期间(PST).避免这些3-4字母代码,因为它们不是真正的时区,不是标准化的,甚至不是唯一的(!).
适当的时区名称
以洲/区域的格式指定proper time zone name,例如America/Montreal,Africa/Casablanca或Pacific / Auckland.
通过PDT,这些时区中的任何一个,或更多,可能是:
ZoneId z = ZoneId.of( "America/Los_Angeles" ) ;
ZoneId z = ZoneId.of( "America/Tijuana" ) ;
ZoneId z = ZoneId.of( "America/Whitehorse" ) ;
但是PDT可能并不意味着这个区域,因为亚利桑那州没有参与夏令时(DST)的废话,而中间的D意味着DST.
ZoneId z = ZoneId.of( "America/Phoenix" ) ;
避免遗留日期时间类
避免使用SimpleTimeFormat类,因为它是现在遗留下来的麻烦的旧日期时间类的一部分,取而代之的是java.time类.请改用DateTimeFormatter.
也避免使用TimeZone.于ZoneId年更替.
传递ZoneId,而不是字符串
Someone invokes my API passing in “PDT” as the timezone.
更改您的API以将ZoneId作为参数,而不仅仅是String.这确保了有效的值,并为您提供type-safety.
关于java.time
java.time框架内置于Java 8及更高版本中.这些类取代了麻烦的旧legacy日期时间类,如java.util.Date,Calendar和& SimpleDateFormat.
Joda-Time项目,现在是maintenance mode,建议迁移到java.time课程.
要了解更多信息,请参阅Oracle Tutorial.并搜索Stack Overflow以获取许多示例和说明.规格是JSR 310.
从哪里获取java.time类?
>内置.
>部分标准Java API,带有捆绑实现.
> Java 9增加了一些小功能和修复.
>大部分java.time功能都被反向移植到Java 6& 7月在ThreeTen-Backport.
> Android
> ThreeTenABP项目特别适用于Android的ThreeTen-Backport(如上所述).
>见How to use ThreeTenABP….
ThreeTen-Extra项目使用其他类扩展了java.time.该项目是未来可能添加到java.time的试验场.您可以在这里找到一些有用的类,例如Interval,YearWeek,YearQuarter和more.
内容总结
以上是互联网集市为您收集整理的Java TimeZone.getTimeZone(“PDT”)无效全部内容,希望文章能够帮你解决Java TimeZone.getTimeZone(“PDT”)无效所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。