<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      LocalDateTime與時間戳、日期字符串的轉換

      摘要:介紹LocalDateTime與時間戳、日期字符串的轉換。

      需求背景

      ??服務器部署在不同時區,數據在業務使用過程中,需要進行時區切換,為了不影響數據效果,把各個時區的時間統一為UTC時區。故分享如何實現LocalDateTime與時間戳、日期字符串的轉換。

      LocalDateTime轉字符串

      ??可以把LocalDateTime轉換成指定時區、指定格式的字符串,以UTC時區為例,轉換成yyyy-MM-dd HH:mm:ss的實現邏輯如下:

          private static DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
          private static ZoneId myZone = TimeZone.getTimeZone("UTC").toZoneId();
          private static ZoneId currentZone = OffsetDateTime.now().getOffset();
          /**
           * 格式化 LocalDateTime 為UTC時區的字符串
           *
           * @param localTime
           * @return utc 時間
           * @Date 2023-08-05
           **/
          public static String getGivenZoneTimeStr(LocalDateTime localTime) {
      //        System.out.println("轉換前的時間:" + localTime.format(df));
              LocalDateTime newTime = localTime.atZone(currentZone).withZoneSameInstant(myZone).toLocalDateTime();
              return newTime.format(df);
          }
      

      ??如果把myZone換成其它時區,則可以得到對應時區的時間,諸如GMT+7:00、GMT+8:00等。

      LocalDateTime轉時間戳

      ??這篇文章很水,如果不是因為使用如下LocalDateTime轉時間戳導致轉換失敗,也就不發此文了:

          public static long local2Timestamp(LocalDateTime localTime) {
              // 設置時區偏移量,這里設置為UTC
              long milliSecond = localTime.toInstant(ZoneOffset.UTC).toEpochMilli();
              System.out.println("local時間轉UTC時間戳:" + milliSecond);
              return milliSecond;
          }
      

      正確的LocalDateTime轉時間戳實現代碼如下:

          /**
           * UTC時區
           */
          private static ZoneId myZone = TimeZone.getTimeZone("UTC").toZoneId();
          private static ZoneId currentZone = OffsetDateTime.now().getOffset();
          public static long local2TimestampPlus(LocalDateTime localTime) {
              LocalDateTime newTime = localTime.atZone(currentZone).withZoneSameInstant(myZone).toLocalDateTime();
              return newTime.toInstant(ZoneOffset.UTC).toEpochMilli();
          }
      

      時間戳轉LocalDateTime

      這個就簡單了,請各位使用的時候根據需要設置一下時區,我這里使用默認時區驗證:

          public static LocalDateTime timestamp2Local(long timestamp) {
              return Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDateTime();
          }
      

      時間戳轉日期字符串

      ??Date對象保存的是毫秒數,本身不帶時區信息。但是如果調用Date.toString()、Date.parse()等方法把Date展現出來時,就會存在時區的概念,需要進行時區轉換,而且不是所有人都只想要UTC時間。

          public static void main(String[] args) {
              String result = timestamp2Str(Instant.now().toEpochMilli(), "GMT+7:00");
              System.out.println(result);
          }
      
          public static String timestamp2Str(long timestamp, String timeZoneId) {
              Date timeStampDate = new Date(timestamp);
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              sdf.setTimeZone(TimeZone.getTimeZone(timeZoneId));
              return sdf.format(timeStampDate);
          }
      

      結束語

      ??文章到這里就結束了,看完之后你有什么想法想要跟大家分享呢?評論區在等著你!

      posted @ 2023-09-25 07:21  樓蘭胡楊  閱讀(2870)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜精品理论大片| 亚洲精品综合网中文字幕| 欧美日韩综合网| 国产一区视频一区欧美| 国产黄色一区二区三区四区| 国产精品久久久久久亚洲色| 巨大黑人极品videos精品| 国产午夜精品在人线播放| 肉大捧一进一出免费视频| 亚洲成人av综合一区| 69人妻精品中文字幕| 五月婷婷中文字幕| 亚洲熟妇少妇任你躁在线观看无码| 亚洲欧美综合人成在线| 久久精品免视看成人国产| 久草热大美女黄色片免费看| 香蕉乱码成人久久天堂爱| 色国产视频| 国产成人啪精品午夜网站| 国产成人精品一区二区三区无码| 日韩有码中文字幕第一页| 免费无码VA一区二区三区| 亚洲日韩久热中文字幕| 你懂的视频在线一区二区| AV最新高清无码专区| 亚洲熟妇熟女久久精品综合| 国产久9视频这里只有精品| 中文字幕制服国产精品| 国产一区二区丰满熟女人妻| 中文字幕人妻熟女人妻a片| 国产高清亚洲一区亚洲二区| 午夜福利精品国产二区| 国产另类ts人妖一区二区| 尹人香蕉久久99天天拍| 日韩深夜免费在线观看| 不卡一区二区国产精品| 中文字幕一区有码视三区| 精品伊人久久久香线蕉| 久久这里都是精品二| 日韩av片无码一区二区不卡| 精品无码日韩国产不卡av|