最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java時區(qū)轉(zhuǎn)換實(shí)例代碼解析

 更新時間:2020年03月07日 14:17:58   作者:程序曉猿  
這篇文章主要介紹了Java時區(qū)轉(zhuǎn)換實(shí)例代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、時區(qū)的說明

地球表面按經(jīng)線從東到西,被劃成一個個區(qū)域,規(guī)定相鄰區(qū)域的時間相差1小時。在同一區(qū)域內(nèi)的東端和西端的人看到太陽升起的時間最多相差不過1小時。當(dāng)人們跨過一個區(qū)域,就將自己的時鐘校正1小時(向西減1小時,向東加1小時),跨過幾個區(qū)域就加或減幾小時 ,所以同一時刻在不同時區(qū)表示的時間是不一樣的。

二、時間的表示

我們平時表示時間時通常是以一個格式化的字符串來表示一個時間,例如"2019-11-5 20:05"這個字符串表示的是2019年11月5日20點(diǎn)05分。但這里有一個隱含的前提,時區(qū)是自己當(dāng)前所在的時區(qū),即東八區(qū)的人看到這個時間認(rèn)為是東八區(qū)的20:05,而東九區(qū)的人會認(rèn)為是東九區(qū)的20:05,實(shí)際上這兩個時間相差了一個小時。所以要正確的表示一個特定時刻,還要再加上時區(qū)信息,例如"2019-11-5 20:05 +8:00"這個字符串不管哪個時區(qū)的人看到都知道表示的是東八區(qū)的時間。

三、時間戳

時間戳表示的是一個時間間隔,從0時區(qū)來看,表示從"1970-1-1 00:00 +0:00"到現(xiàn)在(2019-11-5 12:05 +0:00)時刻的時間間隔,而從東八區(qū)來看表示從"1970-1-1 08:00 +8:00"到現(xiàn)在(2019-11-5 20:05 +8:00)的時間間隔。

間隔=現(xiàn)在-起點(diǎn),因為現(xiàn)在和起點(diǎn)都相差了8小時,所以時間間隔是一樣的,同樣的道理,在任意時區(qū)中現(xiàn)在這一個時刻的時間戳都是一樣的。

四、Date類和時間戳

java的Date類中實(shí)際保存的是某一個時刻的時間戳,所以同一時刻在任意時區(qū)獲取到的Date對象都是一樣的。當(dāng)使用SimpleDateFormat格式化日期時,默認(rèn)的會以當(dāng)前的系統(tǒng)時區(qū)來格式化日期,所以同一時刻不同時區(qū)的人格式化日期得到的結(jié)果才會有時差。

所以以下代碼,在東八區(qū)和東九區(qū)得到的輸出相差了一個小時,但它們的Date對象實(shí)際上表示了同一個時刻

public class TestDate {

  public static void main(String[] args) {
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date=new Date(1572960924868L);//以時間戳來給定一個特定時刻
    System.out.println(sdf.format(date));
  }
}

五、java中的時區(qū)轉(zhuǎn)換

SimpleDateFormat的對象可以設(shè)置時區(qū),這樣同一個Date對象就可以通過SimpleDateFormat來進(jìn)行時區(qū)轉(zhuǎn)換

  @Test
  public void test2(){
    Date date=new Date(1572960924868L);
    SimpleDateFormat sdf8=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf8.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));//設(shè)置時區(qū)為東八區(qū)
    System.out.println("東八區(qū)的時間:"+sdf8.format(date));//輸出格式化日期

    SimpleDateFormat sdf9=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf9.setTimeZone(TimeZone.getTimeZone("GMT+9:00"));//設(shè)置時區(qū)為東八區(qū)
    System.out.println("東九區(qū)的時間:"+sdf9.format(date));//輸出格式化日期
  }

輸出的結(jié)果如下圖

同一個時刻1572960924868,先轉(zhuǎn)為Date對象,再通過SimpleDateFormat對時區(qū)進(jìn)行轉(zhuǎn)換,并格式化成時間字符串輸出。

所以在實(shí)際的應(yīng)用中,遇到需要存儲時間的問題時,可以在數(shù)據(jù)庫中存儲時間對應(yīng)的時間戳,這樣在數(shù)據(jù)庫存儲時就不會有時區(qū)的問題,而在應(yīng)用中需要用到時間時,就把這個時間戳轉(zhuǎn)為Date,再通過SimpleDateFormat轉(zhuǎn)換成需要的時區(qū)的時間。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用springboot訪問圖片本地路徑并映射成url

    使用springboot訪問圖片本地路徑并映射成url

    這篇文章主要介紹了使用springboot訪問圖片本地路徑并映射成url的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springboot整合flowable框架入門步驟

    springboot整合flowable框架入門步驟

    最近工作中有用到工作流的開發(fā),引入了flowable工作流框架,在此記錄一下springboot整合flowable工作流框架的過程,感興趣的朋友一起看看吧
    2022-04-04
  • Java創(chuàng)建線程三種方式的優(yōu)缺點(diǎn)

    Java創(chuàng)建線程三種方式的優(yōu)缺點(diǎn)

    今天小編就為大家分享一篇關(guān)于Java創(chuàng)建線程三種方式的優(yōu)缺點(diǎn),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 基于Springboot吞吐量優(yōu)化解決方案

    基于Springboot吞吐量優(yōu)化解決方案

    這篇文章主要介紹了基于Springboot吞吐量優(yōu)化解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java中catalina.home與catalina.base區(qū)別點(diǎn)整理

    java中catalina.home與catalina.base區(qū)別點(diǎn)整理

    在本篇文章里小編給大家整理的是關(guān)于java項目中catalina.home與catalina.base區(qū)別點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • java使用ffmpeg命令來實(shí)現(xiàn)視頻編碼轉(zhuǎn)換的示例

    java使用ffmpeg命令來實(shí)現(xiàn)視頻編碼轉(zhuǎn)換的示例

    本文主要介紹了java使用ffmpeg命令來實(shí)現(xiàn)視頻編碼轉(zhuǎn)換的示例,可以通過調(diào)用系統(tǒng)命令來執(zhí)行FFmpeg命令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • SpringBoot常用注解詳細(xì)整理

    SpringBoot常用注解詳細(xì)整理

    大家好,本篇文章主要講的是SpringBoot常用注解詳細(xì)整理,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • IDEA快速部署Spring?Boot?項目到Docker的實(shí)現(xiàn)方法

    IDEA快速部署Spring?Boot?項目到Docker的實(shí)現(xiàn)方法

    本文主要介紹了IDEA快速部署Spring?Boot?項目到Docker的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • CentOS 7快速安裝jdk

    CentOS 7快速安裝jdk

    這篇文章主要為大家詳細(xì)介紹了CentOS 7快速安裝jdk的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 一篇文章掌握J(rèn)ava?Thread的類及其常見方法

    一篇文章掌握J(rèn)ava?Thread的類及其常見方法

    Thread類用于操作線程,是所以涉及到線程操作(如并發(fā))的基礎(chǔ)。本文將通過代碼對Thread類的功能作用及其常見方法進(jìn)行分析
    2022-03-03

最新評論

安远县| 精河县| 江陵县| 天津市| 永济市| 石门县| 犍为县| 绥德县| 清水县| 绥德县| 永康市| 台东市| 缙云县| 昔阳县| 铜川市| 香格里拉县| 松溪县| 平山县| 乌鲁木齐市| 华容县| 苗栗市| 海口市| 绥德县| 原平市| 台东市| 北安市| 思茅市| 阿城市| 安溪县| 南丹县| 靖边县| 玉林市| 丰镇市| 蒙自县| 梅州市| 东至县| 延津县| 铜鼓县| 将乐县| 三亚市| 安西县|