Java新API的时间格式化

 更新时间:2022年05月23日 16:15:50   作者:​ 码农小胖哥   ​  
这篇文章主要介绍了Java新API的时间格式化,新的时间API的时间格式化由java.time.format.DateTimeFormatter负责,更多相关资料需要的小伙伴可以参考一下

前言:

时间过得真是快,现在已经是2022年了。作为开发来说,时间处理是非常繁琐的。从Java 8开始有了Java 8 Time Api 使用方法技巧、时间的处理更加优雅,不再需要借助三方类库,而且线程安全。今天来梳理一下新API的格式化,而且还要玩点你没玩过的东西,点赞、转发、再看走起来。

新API的时间格式化

新的时间API的时间格式化由java.time.format.DateTimeFormatter负责。

本地化时间

结合枚举FormatStyle定义的风格,DateTimeFormatter预定义了基于本地(Locale)风格的时间格式。

我们来看这段代码:

        String format = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
                .format(ZonedDateTime.now());

如果你在中国,格式化结果:

2022年1月6日 下午4:22:01

如果你在美国:

Jan 6, 2022, 4:21:10 PM

有三个静态方法及其重载来格式化本地化时间,具体已经整理成了思维导图:

ISO/RFC规范格式

DateTimeFormatter还内置了ISORFC的时间格式,基于内置的DateTimeFormatter静态实例。

举个例子:

        // 静态实例
        DateTimeFormatter isoWeekDateFormatter = DateTimeFormatter.ISO_WEEK_DATE;
        // 执行格式化
        String format = isoWeekDateFormatter.format(LocalDateTime.now());
        // format = 2022-W01-4
        System.out.println("format = " + format);

其它的如下表格所示:

范式格式化

这种方式应该是我们最常用的方式了。通过字母和符号来构建一个范式(Patterns),使用ofPattern(String)或者ofPattern(String, Locale)方法传递构建的范式。例如,d MMM uuuu将把2011-12-03格式化为2011年12月3日。从一个模式中创建的格式可以根据需要多次使用,它是不可改变的,并且是线程安全的。

相信什么yyyy-MM-dd HH:mm:ss你都玩腻了,给大家看点你没见过的:

        // 最后面是两个V 不是W 单个V会报错 
        String pattern = "G uuuu'年'MMMd'日' ZZZZZ VV";
        String format= DateTimeFormatter.ofPattern(pattern).format(ZonedDateTime.now());
        // format = 2022-W01-4
        System.out.println("format = " + format);

输出:

format = 公元 2022年1月7日 +08:00 Asia/Shanghai

表格给你整理好了,你试一试:

到此这篇关于Java新API的时间格式化的文章就介绍到这了,更多相关Java格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java用applet画图用到的方法(涉及双缓冲)

    java用applet画图用到的方法(涉及双缓冲)

    这篇文章主要介绍了java用applet画图用到的方法(涉及双缓冲),然后作为基础的基础的基础,必须学习如何让键盘与界面进行交互。下面就是对一个基础得不能再基础的applet程序,需要的朋友可以参考下
    2019-06-06
  • Springboot+QueryDsl实现融合数据查询

    Springboot+QueryDsl实现融合数据查询

    这篇文章主要将介绍的是 Springboot 使用 QueryDsl 实现融合数据查询,文中有详细的代码讲解,对 SpringBoot Querydsl 查询操作感兴趣的朋友一起看看吧
    2023-08-08
  • java显示当前运行时的参数(java运行参数)

    java显示当前运行时的参数(java运行参数)

    这篇文章主要介绍了java显示当前运行时参数的示例(java运行参数),需要的朋友可以参考下
    2014-04-04
  • java 并发线程个数的如何确定

    java 并发线程个数的如何确定

    这篇文章主要介绍了java 并发线程个数的如何确定,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring Boot如何通过CORS处理跨域问题

    Spring Boot如何通过CORS处理跨域问题

    这篇文章主要介绍了Spring Boot如何通过CORS处理跨域问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java Spring的数据库开发详解

    Java Spring的数据库开发详解

    这篇文章主要介绍了Spring的数据库开发,主要围绕SpringJDBC和Spring Jdbc Template两个技术来讲解,文中有详细的代码示例,需要的小伙伴可以参考一下
    2023-04-04
  • 自己动手写的mybatis分页插件(极其简单好用)

    自己动手写的mybatis分页插件(极其简单好用)

    最近做了个项目,需要用到mybatis分页功能,网上找了很多插件,都不太合适,于是就自己动手写了个mybatis分页插件功能,非常不错,代码简单易懂,需要的朋友参考下吧
    2016-11-11
  • Java自定义过滤器和拦截器实现ThreadLocal线程封闭

    Java自定义过滤器和拦截器实现ThreadLocal线程封闭

    本文主要介绍了Java自定义过滤器和拦截器实现ThreadLocal线程封闭,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • spring中通过ApplicationContext getBean获取注入对象的方法实例

    spring中通过ApplicationContext getBean获取注入对象的方法实例

    今天小编就为大家分享一篇关于spring中通过ApplicationContext getBean获取注入对象的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • java集合框架线程同步代码详解

    java集合框架线程同步代码详解

    这篇文章主要介绍了java集合框架线程同步代码详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论