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

Java8的DateTimeFormatter與SimpleDateFormat的區(qū)別詳解

 更新時(shí)間:2021年03月17日 10:34:24   作者:二十六畫(huà)生的博客  
這篇文章主要介紹了Java8的DateTimeFormatter與SimpleDateFormat的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

兩者最大的區(qū)別是,Java8的DateTimeFormatter是線程安全的,而SimpleDateFormat并不是線程安全。

package com.main;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
 
public class Main {
 
  public static void main(String args[]){
 
    //解析日期
    String dateStr= "2016年10月25日";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
    LocalDate date= LocalDate.parse(dateStr, formatter);
 
    //日期轉(zhuǎn)換為字符串
    LocalDateTime now = LocalDateTime.now();
    DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm a");
    String nowStr = now .format(format);
    System.out.println(nowStr);
 
    //ThreadLocal來(lái)限制SimpleDateFormat
    System.out.println(format(new Date()));
  }
 
  //要在高并發(fā)環(huán)境下能有比較好的體驗(yàn),可以使用ThreadLocal來(lái)限制SimpleDateFormat只能在線程內(nèi)共享,這樣就避免了多線程導(dǎo)致的線程安全問(wèn)題。
  private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>() {
    @Override
    protected DateFormat initialValue() {
      return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }
  };
 
  public static String format(Date date) {
    return threadLocal.get().format(date);
  }
}

Java8 (LocalDateTime) 時(shí)間轉(zhuǎn)換

注意:LocalDateTime是帶時(shí)分秒的

1.將LocalDateTime轉(zhuǎn)為自定義的時(shí)間格式的字符串

public static String getDateTimeAsString(LocalDateTime localDateTime, String format) {
  DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
  return localDateTime.format(formatter);
}

2.將long類型的timestamp轉(zhuǎn)為L(zhǎng)ocalDateTime

public static LocalDateTime getDateTimeOfTimestamp(long timestamp) {
  Instant instant = Instant.ofEpochMilli(timestamp);
  ZoneId zone = ZoneId.systemDefault();
  return LocalDateTime.ofInstant(instant, zone);
}

3.將LocalDateTime轉(zhuǎn)為long類型的timestamp

public static long getTimestampOfDateTime(LocalDateTime localDateTime) {
  ZoneId zone = ZoneId.systemDefault();
  Instant instant = localDateTime.atZone(zone).toInstant();
  return instant.toEpochMilli();
}

4.將某時(shí)間字符串轉(zhuǎn)為自定義時(shí)間格式的LocalDateTime

public static LocalDateTime parseStringToDateTime(String time, String format) {
  DateTimeFormatter df = DateTimeFormatter.ofPattern(format);
  return LocalDateTime.parse(time, df);
}

到此這篇關(guān)于Java8的DateTimeFormatter與SimpleDateFormat的區(qū)別詳解的文章就介紹到這了,更多相關(guān)Java8 DateTimeFormatter與SimpleDateFormat內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

吴桥县| 湛江市| 从化市| 巫山县| 龙州县| 新巴尔虎左旗| 南昌市| 雅江县| 曲靖市| 通海县| 紫阳县| 建昌县| 武强县| 武山县| 神农架林区| 清徐县| 锦屏县| 邵武市| 海兴县| 庐江县| 巴彦淖尔市| 株洲市| 喜德县| 元江| 浠水县| 武隆县| 海晏县| 瑞丽市| 沙坪坝区| 长岛县| 龙胜| 定西市| 南汇区| 嵊泗县| 永德县| 新化县| 吕梁市| 罗定市| 出国| 西乡县| 清流县|