日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 夏令时区_java中的夏令时

發(fā)布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 夏令时区_java中的夏令时 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

是的,您應該在

Java 8中使用

Joda-Time或新的java.time包(受Joda-Time啟發(fā)).

偏移量是從特定日期時間值表示的UTC(GMT)的小時數(shù)和分鐘數(shù).西海岸是-08:00(忽略夏令時廢話),意味著比UTC晚8小時.

請注意,java.time在其初始版本中有一個小錯誤,它無法處理幾分鐘(例如08)的偏移而沒有分鐘(例如08:00).

A time zone是關于夏令時(DST)的偏移加規(guī)則,DST更改歷史以及有關其他異常的信息.

使用適當?shù)膖ime zone names(主要是大陸斜線城市).避免使用3或4個字母代碼,例如EST,它們既不是標準的也不是唯一的.

java.util.Date沒有時區(qū),而Joda-Time DateTime則沒有.

要獲取Web瀏覽器的時區(qū),請參閱this question.但通常,這不起作用.正如您可能已經(jīng)看到的,許多網(wǎng)站要求用戶選擇時區(qū).

您確切的用例令人困惑.通常,最好的方法是使用UTC的日期時間值,然后根據(jù)需要調整用戶的本地時間.通常最適合您的軟件工作和存儲日期時間為UTC.然后顯示調整為適合用戶的本地日期時間.換句話說,全局思考(UTC),在本地呈現(xiàn)(調整本地時區(qū)).

通常,系統(tǒng)管理員將其服務器計算機設置為UTC(無時區(qū)偏移).如果您的操作系統(tǒng)(如Mac OS X)不提供UTC,則使用Reykjavik,因為冰島全年使用UTC而沒有任何夏令時.同樣,數(shù)據(jù)庫引擎幾乎總是將日期時間值轉換為UTC以進行存儲.

當您真正不關心時區(qū)或時間時,Joda-Time會提供LocalDate類.但通常最好使用日期時間(DateTime實例),并根據(jù)需要格式化僅限日期的字符串.

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中的夏令时的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。