java zoneoffset,java - 如何在java8中獲取默認的ZoneOffset? - SO中文參考 - www.soinside.com...

tl;dr

OffsetDateTime.now().getOffset()

但您可能應該使用時區而不是僅僅偏離UTC。

ZoneId.systemDefault()

Offset versus Time Zone

offset-from-UTC只是一小時,幾分鐘和幾秒鐘 - 僅此而已。

time zone是特定地區人民使用的偏移的過去,現在和未來變化的歷史。時區有一組規則來處理諸如Daylight Saving Time (DST)之類的異常,這些異常會導致特定時間段內偏移的變化。

時區=(偏移歷史+異常規則)

因此,在知道時更好地使用區域。

任何地區的偏移量隨時間而變化。例如,DST in the United States將偏移量移動一個小時,大約一半,然后在一年的另一半中將該小時恢復到偏移量。時區的整個目的是記錄偏移量的變化。

因此,在沒有日期時間的情況下要求偏移是沒有意義的。在America/Los_Angeles,例如在今年的部分時間,補償是-08:00,但在夏令時期間的另一部分是-07:00。

OffsetDateTime

OffsetDateTime odt = OffsetDateTime.now ();

ZoneOffset zoneOffset = odt.getOffset ();

odt.toString():2017-01-02T15:19:47.162-08:00

zoneOffset.toString(): - 08:00

now方法實際上是隱式應用JVM的當前默認時區。我建議您始終通過指定所需/預期的時區來明確說明。即使您想要當前的默認區域,也要明確說明您的意圖。消除關于您是否打算默認或未能考慮時區的模糊性,因為程序員經常會這樣做。打電話給ZoneId.systemDefault。

OffsetDateTime odt = OffsetDateTime.now ( ZoneId.systemDefault () );

ZoneOffset zoneOffset = odt.getOffset ();

ZoneId.systemDefault()。toString():America / Los_Angeles

自:2017-01-02T15:19:47.162-08:00

zoneOffsetOfOdt:-08:00

關于依賴于默認區域的注意事項:此默認值可隨時由JVM中任何線程中的任何代碼更改。如果重要,請詢問用戶預期的時區。

您可以將偏移量作為總秒數詢問偏移量。

int offsetSeconds = zoneOffset.getTotalSeconds ();

offsetSeconds:-28800

ZonedDateTime

另一個例子:也許你想知道今年圣誕節在魁北克會有什么補償。指定時區America/Montreal,得到一個ZonedDateTime,請求它作為ZoneOffset對象的偏移量。

ZoneId z = ZoneId.of( "America/Montreal" );

LocalDate ld = LocalDate.of( 2017 , 12 , 25 );

ZonedDateTime zdtXmas = ld.atStartOfDay( z );

ZoneOffset zoneOffsetXmas = zdtXmas.getOffset();

zdtXmas.toString():2017-12-25T00:00-05:00 [美國/蒙特利爾]

zoneOffsetXmas.toString(): - 05:00

zoneOffsetXmas.getTotalSeconds(): - 18000

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9yZHpJVy5wbmcifQ==

ZoneId

正如yanys的評論中所建議的,你可以通過傳遞一個時刻作為ZoneId來查詢ZoneOffset特定的Instant。 Instant類代表UTC時間軸上的一個時刻,分辨率為nanoseconds(小數部分最多九(9)位)。

這只是通往同一目的地的另一條路線。就像上面討論的OffsetDateTime和ZonedDateTime一樣,我們指定(a)時區,(b)片刻。

Instant instant = zdtXmas.toInstant();

ZoneOffset zo = z.getRules().getOffset( instant );

對于ZoneId:美國/蒙特利爾立即:2017-12-25T05:00:00Z ZoneOffset為:-05:00

ZoneOffset.systemDefault - 錯誤或功能?

ZoneOffset類是ZoneId的子類,記錄為繼承systemDefault方法。但是,這實際上并不起作用。

ZoneOffset zoneOffset = ZoneOffset.systemDefault() ; // Fails to compile.

錯誤:不兼容的類型:ZoneId無法轉換為ZoneOffset

不確定這個編譯失敗是錯誤還是功能。如上所述,對于我來說,要求使用日期時間的默認偏移似乎沒有意義,所以也許ZoneOffset.systemDefault確實會失敗。但文檔應該這樣說,并附上解釋。

我試圖提交一個關于文檔無法解決此問題的錯誤,但放棄了,無法確定在何處以及如何提交此類錯誤報告。

About java.time

要了解更多信息,請參閱Oracle Tutorial。并搜索Stack Overflow以獲取許多示例和解釋。規格是JSR 310。

您可以直接與數據庫交換java.time對象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*類。

從哪里獲取java.time類?

Java SE 8,Java SE 9,Java SE 10,Java SE 11和更高版本 - 帶有捆綁實現的標準Java API的一部分。

Java 9增加了一些小功能和修復。

Android

更高版本的Android捆綁java.time類的實現。

對于早期的Android(<26),ThreeTenABP項目適應ThreeTen-Backport(如上所述)。見How to use ThreeTenABP…。

ThreeTen-Extra項目使用其他類擴展了java.time。該項目是未來可能添加到java.time的試驗場。你可能會在這里找到一些有用的類,如Interval,YearWeek,YearQuarter和more。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab幾種循環,Matlab for 多個變量循環能不能這樣啊 ,求教高手!!!!

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓for a0.003:0.0005:1; b0.002:0.0005:0.9; c0.001:0.0005:0.8;d0.0005:0.0005:0.7;E1a* E_Bone;E2b* E_Bone;E3c* E_Bone;E4d* E_Bone;G1a* G_Bone;G2b* G_Bone;G3c* G_Bone;G4d* G_Bone;%% Integration for cortical bone partsIn…

寶塔asp php,寶塔Windows面板部署ASP、ASPX程序WEB網站環境方法

寶塔Windows面板部署ASP、ASPX程序WEB網站環境方法一般Windows系統建站用戶可能較多是程序是ASP或者是ASPX的&#xff0c;這樣只能在Windows系統中才能運行。說實話&#xff0c;對于中文軟件來說也沒有太多內容可以分享的&#xff0c;直接我們照著操作就可以了&#xff0c;既然…

php聲波模擬開門,關于 php使用擴展控制樹莓派io 驅動超聲波測距

經過昨天一下午&#xff0c;終于寫好了基于只需要安裝完畢&#xff0c;就可以調用函數了&#xff1a;<?php /*** Created by PhpStorm.* User: tioncico* Date: 19-7-6* Time: 下午4:45*/define(PI_TRIG,0);define(PI_ECHO,1);if (wiringPiSetup()false){echo "初始化…

Java和poi導出excel報表

一&#xff1a;poi jar下載地址&#xff1a;點擊打開鏈接&#xff1a; 二&#xff1a;工程截圖&#xff1a; 三&#xff1a;運行效果截圖&#xff1a; 四&#xff1a;源代碼&#xff1a; Student.java: package com.poi.bean;import java.util.Date;public class Student {pri…

matlab漢明碼psk,設計一個漢明碼編碼的2PSK調制的數字通信系統

漢明碼信道編碼的2psk調制數字通信系統設計一個采用2PSK調制的數字通信系統設計系統整體框圖及數學模型&#xff1b;產生離散二進制信源&#xff0c;進行信道編碼(漢明碼)&#xff0c;產生BPSK信號&#xff1b; 加入信道噪聲(高斯白噪聲)&#xff1b;BPSK信號相干解調&#xff…

sh.k7p.work/index.php,Laowang's Blogs

OpenDayLight(硼Boron版本)實戰開發入門OpenDayLight[1](簡寫為ODL)的硼Boron(0.5.0)版本于2016-09-16 這幾天剛剛發布。作為一款開源SDN網絡控制器&#xff0c;依托于強大的社區支持以及豐富的功能特性&#xff0c;ODL成為了目前主流的SDN網絡控制器開發平臺。不僅為開發者提供…

php接收不到ios值,php設置標簽后,ios收不到,安卓可以收到

通過下面代碼設置的標簽&#xff1a;$client->device()->addTags($registration_id, test);通過下面代碼推送的消息$result self::getClient()->push()->setPlatform([ios, android])->addTag([test])->setNotificationAlert($content)->options([time_t…

0+到10+隨機數+java,java代碼--實現隨機輸出10個隨機數,并顯示最大值,最小值

總結;對于length()屬性&#xff0c;還不是很熟悉。不會用它。package com.s.x;//隨機產生10個隨機數&#xff0c;并且顯示出最大值&#xff0c;最小值public class Love {public static void main(String[] args) {int a[] new int[10];int max, min;for (int i 0; i < 10…

oracle推送短信,ORACLE 10G如何實現發短信的服務?

CREATE OR REPLACE PROCEDURE SEND_MAIL(SUBJECT IN VARCHAR2,CONTENTSED IN VARCHAR2) ISEMAIL_SERVER VARCHAR2(30) : 10.1.200.6;SENDER_ADDRESS VARCHAR2(50) : testcz.com.cn;--發件地址RECEIVER_ADDRESS VARCHAR2(30); …

Java和iText導出pdf文檔

一&#xff1a;工程截圖&#xff1a; 二&#xff1a;項目運行截圖&#xff1a; 三&#xff1a;源代碼&#xff1a; Book.java package com.iText.bean;public class Book {private int bookId;// 圖書編號private String name;// 圖書名稱private String author;// 圖書作者pr…

oracle 12 ORA-01262,oracle物理dg安裝:方法二

本文記錄了物理dg的第二種安裝方法&#xff0c;使用rman duplicate from active database&#xff0c;不需要做備份文件。準備工作&#xff1a;1.兩臺虛擬機&#xff0c;主機名&#xff1a;n1, n2&#xff0c;操作系統&#xff1a;centos6.7&#xff0c;建好信任關系2.oracle d…

linux多進程原理,Linux進程調度

極簡模式假設我的系統只有一種調度算法cfs那么有個調度的隊列 cfs_rq所有running的進程都會 進入這個隊列&#xff0c;不在running 或者其他情況會出隊列&#xff0c;ok。則假設隊列控制的算法有以下。cfs_rq_enqueuecfs_rq_dequeuecfs_rq_pick所操作的是進程描述符 task_struc…

openwrt使用linux內核版本,降低OpenWRT的Linux內核版本

不久前&#xff0c;為了移植某驅動程序&#xff0c;筆者可謂絞盡腦汁&#xff0c;在4.1內核版本上&#xff0c;嘗試了很多次都沒能成功&#xff0c;后來仔細分析&#xff0c;才知道是內核版本過高導致的&#xff0c;本文給出降低內核版本的方法&#xff0c;具體編譯環境的搭建&…

Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能實現自動創建表結構的解決辦法:...

一&#xff1a;今天遇到一個詭異的問題&#xff0c;就是關于hibernate3.x實現表結構自動創建&#xff0c;一般我們在用Struts2&#xff0c;Hibernate3.x&#xff0c;Spring3.x搭建框架&#xff0c;尤其在開發階段都希望在啟動Web容器時就可以根據Bean實體自動創建數據表結構&am…

linux s t i a權限,關于Linux下s、t、i、a權限

關于Linux下s、t、i、a權限文件權限除了r、w、x外還有s、t、i、a權限&#xff1a;s&#xff1a;文件屬主和組設置SUID和GUID&#xff0c;文件在被設置了s權限后將以root身份執行。在設置s權限時文件屬主、屬組必須先設置相應的x權限&#xff0c;否則s權限并不能正真生效(c h m …

linux ssh禁止用戶訪問任何目錄,怎么限制遠程ssh用戶訪問特定的文件

比如我要實現以下目標&#xff0c;通過配置linux限制SSH用戶指定目錄user 1 只可以訪問 /Media, /Documents以及它的家目錄User 2 只可以訪問/Folder21, 以及它的家目錄,User 3 只可以訪問 /Documents, /Folder21 以及他的家目錄,ssh如何限制指定目錄2. 通過配置Linux權限限制S…

linux配置定時刪除日志文件,Linux使用shell腳本定時刪除歷史日志文件

Linux使用shell腳本定時刪除歷史日志文件,文件,小時,時間,目錄,腳本Linux使用shell腳本定時刪除歷史日志文件易采站長站&#xff0c;站長之家為您整理了Linux使用shell腳本定時刪除歷史日志文件的相關內容。1、tools目錄文件結構[rootwww tools]# tree tools/tools/├── bin│…

linux awk執行shell命令,awk調用shell命令

在awk內部可利用管道和getline函數來調用shell命令&#xff0c;并可得到返回的具體結果&#xff0c;進行相應處理。例子如下&#xff1a;1) {while ( ("ls" | getline) >0 )print}輸出當前目錄下的所有文件&#xff0c;并打印到標準輸出上。| 是管道&#xff0c;g…

linux添加啟動腳本文件夾,linux – 將腳本中的符號鏈接添加到rc.d文件夾中以在系統啟動期間啟動進程...

我正在使用fedora 15.我試圖添加MYSql守護進程在系統strtup期間啟動.我已經明白我必須將它添加到rc5.d,因為它是默認目標&是graphical.target.來自inittab&#xff1a;systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:multi-user.…

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:

一&#xff1a;今天在使用struts2做文件上傳時出現了該異常&#xff1a; 警告: Unable to parse request org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5897994) exceeds the configured maximum (2…