Day029 JDK8中新日期和时间API

Posted 南方风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day029 JDK8中新日期和时间API 相关的知识,希望对你有一定的参考价值。

JDK8中新日期和时间API (三)


java.time.format.DateTimeFormatter 类:该类提供了三种格式化方法:

  • 预定义的标准格式。如: ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
  • 本地化相关的格式。如:ofLocalizedDateTime(FormatStyle.LONG)
  • 自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)

方法

方法 描述
ofPattern(String pattern) 静态方法 , 返 回 一 个 指 定 字 符 串 格 式 的 DateTimeFormatter
format(TemporalAccessor t) 格式化一个日期、时间,返回字符串
parse(CharSequence text) 将指定格式的字符序列解析为一个日期、时间
public class JDK8DateTimeFormatterTest {
    public static void main(String[] args) {
        //方式一:预定义的标准格式。如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
        //格式化:日期--->字符串
        LocalDateTime localDateTime = LocalDateTime.now();
        String str1 = formatter.format(localDateTime);
        System.out.println(localDateTime);
        System.out.println(str1);

        //解析:字符串--->日期
        TemporalAccessor parse = formatter.parse("2021-05-29T09:57:21.426");
        System.out.println(parse);

        //方式二:本地化相关的格式。如:ofLocalizedDateTime(FormatStyle.LONG)
        DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
        String str2 = formatter1.format(localDateTime);
        System.out.println(str2);

        DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
        String str3 = formatter2.format(localDateTime);
        System.out.println(str3);

        //重点:方式三:自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)
        DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        //格式化
        String str4 = formatter3.format(LocalDateTime.now());
        System.out.println(str4);

        //解析
        TemporalAccessor accessor = formatter3.parse("2021-05-29 10:43:13");
        System.out.println(accessor);
    }
}

输出结果

2021-05-29T10:44:43.285
2021-05-29T10:44:43.285
{},ISO resolved to 2021-05-29T09:57:21.426
21-5-29 上午10:44
2021年5月29日 上午10时44分43秒
2021-05-29 10:44:43
{MinuteOfHour=43, HourOfAmPm=10, MilliOfSecond=0, MicroOfSecond=0, SecondOfMinute=13, NanoOfSecond=0},ISO resolved to 2021-05-29

尚硅谷

以上是关于Day029 JDK8中新日期和时间API 的主要内容,如果未能解决你的问题,请参考以下文章

Day028 JDK8中新日期和时间API

JDK8中新日期时间API

JDK8中新的日期时间工具类真的很好用,还不清楚的快进来看看吧,建议收藏

JDK8中新的日期时间工具类真的很好用,还不清楚的快进来看看吧,建议收藏

Java基础第二十一天总结——日期时间API

《Java8实战》读书笔记11:Java8中新的日期时间API