DateTimeFormatter學習參考

首先貼上官網(wǎng)鏈接DateTimeFormatter

DateTimeFormatter提供三種方式完成格式化:

  • 預定義
  • 模式字符串
  • 本地化風格

下面對這三種模式詳細介紹

預定義

先看例子:

jshell> LocalDateTime ldt = LocalDateTime.now();
ldt ==> 2019-10-25T14:21:35.146187
jshell> DateTimeFormatter dtf = DateTimeFormatter.BASIC_ISO_DATE;
dtf ==> ParseCaseSensitive(false)Value(Year,4)Value(Month ... Mss,'Z')ParseStrict(true)]
jshell> String dateNow = ldt.format(dtf);
dateNow ==> "20191025"
jshell> LocalDateTime ldt = LocalDateTime.now();
ldt ==> 2019-10-25T14:18:08.339930
jshell> DateTimeFormatter dtf = DateTimeFormatter.ISO_DATE;
dtf ==> ParseCaseSensitive(false)(Value(Year,4,10,EXCEEDS ... 2))[Offset(+HH:MM:ss,'Z')]
jshell> String dateNow = ldt.format(dtf);
dateNow ==> "2019-10-25"
Formatter Example
BASIC_ISO_DATE '20111203'
ISO_LOCAL_DATE '2011-12-03'
ISO_OFFSET_DATE '2011-12-03+01:00'
ISO_DATE '2011-12-03+01:00'; '2011-12-03'
ISO_LOCAL_TIME '10:15:30'
ISO_OFFSET_TIME '10:15:30+01:00'
ISO_TIME '10:15:30+01:00'; '10:15:30'
ISO_LOCAL_DATE_TIME '2011-12-03T10:15:30'
ISO_OFFSET_DATE_TIME 2011-12-03T10:15:30+01:00'
ISO_ZONED_DATE_TIME '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_DATE_TIME '2011-12-03T10:15:30+01:00[Europe/Paris]'
ISO_ORDINAL_DATE '2012-337'
ISO_WEEK_DATE 2012-W48-6'
ISO_INSTANT '2011-12-03T10:15:30Z'

模式字符串

yyyy-MM-dd HH:mm:ss:SSS
HH大寫代表24小時制
hh小寫代表12小時制
yyyy-MM-dd hh:mm:ss:SSS a

例子:

//實例化
jshell> LocalDateTime ld = LocalDateTime.now();
ld ==> 2019-10-25T14:36:03.166545
//"yyyy-MM-dd"
jshell> DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
dtf ==> Value(YearOfEra,4,19,EXCEEDS_PAD)'-'Value(MonthOfYear,2)'-'Value(DayOfMonth,2)
jshell> String dateNow = ld.format(dtf);
dateNow ==> "2019-10-25"

//"HH:mm:ss:SSS"
jshell> DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss:SSS");
dtf ==> Value(HourOfDay,2)':'Value(MinuteOfHour,2)':'Valu ... Fraction(NanoOfSecond,3,3)
jshell> String dateNow = ld.format(dtf);
dateNow ==> "14:36:03:166"

//"yyyy-MM-dd HH:mm:ss:SSS"
jshell> DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
dtf ==> Value(YearOfEra,4,19,EXCEEDS_PAD)'-'Value(MonthOf ... Fraction(NanoOfSecond,3,3)
jshell> String dateNow = ld.format(dtf);
dateNow ==> "2019-10-25 14:36:03:166"

本地化風格

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 參考:http://www.itdecent.cn/p/8b9d8f777bb3 https://www.cnb...
    wsj1211閱讀 1,730評論 0 0
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,915評論 0 13
  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統(tǒng)計分析...
    時待吾閱讀 5,159評論 0 6
  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統(tǒng)計分析...
    時待吾閱讀 5,217評論 1 13
  • 除了lambda表達式,stream以及幾個小的改進之外,Java 8還引入了一套全新的時間日期API,在本篇教程...
    帶娃兒先走閱讀 1,396評論 0 6

友情鏈接更多精彩內(nèi)容