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

尚硅谷

posted @ 2021-05-29 10:51  南方风  阅读(84)  评论(0编辑  收藏  举报