DateTimeFormatter

    SimpleDateFormat不同的是,DateTimeFormatter不但是不变对象,它还是线程安全的。线程的概念我们会在后面涉及到。现在我们只需要记住:因为SimpleDateFormat不是线程安全的,使用的时候,只能在方法内部创建新的局部变量。而DateTimeFormatter可以只创建一个实例,到处引用。

    创建时,我们仍然通过传入格式化字符串实现:

    格式化字符串的使用方式与SimpleDateFormat完全一致。

    这种方式可以按照Locale默认习惯格式化。我们来看实际效果:

    在格式化字符串中,如果需要输出固定字符,可以用'xxx'表示。

    当我们直接调用System.out.println()对一个ZonedDateTime或者LocalDateTime实例进行打印的时候,实际上,调用的是它们的方法,默认的toString()方法显示的字符串就是按照ISO 8601格式显示的,我们可以通过DateTimeFormatter预定义的几个静态变量来引用:

    得到的输出和toString()类似:

    ZonedDateTimeLocalDateTime进行格式化,需要使用DateTimeFormatter类;

    读后有收获可以支付宝请作者喝咖啡,读后有疑问请加微信群讨论

    DateTimeFormatter - 图1