DateTimeFormatter学习参考

首先贴上官网链接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"

本地化风格

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考:https://www.jianshu.com/p/8b9d8f777bb3 https://www.cnb...
    wsj1211阅读 1,776评论 0 0
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 10,013评论 0 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,195评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,343评论 1 13
  • 除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程...
    带娃儿先走阅读 1,417评论 0 6

友情链接更多精彩内容