java 夏令时区_java中的夏令时
是的,您應該在
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中的夏令时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思科Cisco AnyConnect 下
- 下一篇: XML 文件加密与解密