Java新API的时间格式化
目录
- 新API的时间格式化
- 本地化时间
- ISO/RFC规范格式
- 范式格式化
前言:
时间过得真是快,现在已经是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
还内置了ISO和RFC的时间格式,基于内置的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使用DateFormatter格式化日期时间的方法示例
本文实例讲述了Java使用DateFormatter格式化日期时间的方法.分享给大家供大家参考,具体如下: Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; /** * Created by Fra
-
Java8生成时间方式及格式化时间的方法实例
LocalDate类 第一种:直接生成当前时间 LocalDate date = LocalDate.now(); System.out.println(date); 结果:2020-08-20 第二种:使用 LocalDate.of 构建时间 LocalDate date = LocalDate.now(); date = LocalDate.of(2020, 9, 20); System.out.println(date); 结果:2020-09-20 第三种:使用 LocalDate.pa
-
将JavaDoc注释生成API文档的操作
目录 将JavaDoc 注释 生成API文档 java自动api文档生成Yapi word文档缺点 swwager文档缺点 将JavaDoc 注释 生成API文档 1. 打开java代码,编写JavaDoc 注释,只有按照java的规范编写注释,才能很好的生成API文档,javadoc注释与普通注释的区别为多一个*(星号).普通代码注释为/*XXX*/,而javadoc的注释为/**XXX*/ 2. javadoc注释要尽量写的详细,这样别人在没有源码的情况下才知道如 何使用您的代码. 3. 点
-
Java 8 Time Api 使用方法技巧
目录 1.概述 2. 旧的时间API(java8之前)的问题 3.使用LocalDate,LocalTime和LocalDateTime 3.1.使用LocalDate 3.2.使用LocalTime 3.3.使用LocalDateTime 4.使用ZonedDateTime API 5.使用Period和Duration 5.1.使用Period 5.2.使用Duration 6.与日期和日历的兼容性 7. 日期和时间格式化 8.替代方案 8.1.使用Threeten 类库 8.2.Joda-
-
Java使用DateTimeFormatter实现格式化时间
用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格式化的时间输出到控制台,可以在控制台重复输入时间.格式化的时间参考企业微信聊天记录的展示时间.用DateTimeFormatter实现,功能如下: 同年: 不同年: 同月:月日+上午/下午+时分 同年不同月:月日+时分 今天:上午/下午+时分 明天:明天+上午/下午+时分 昨天:昨天+上午/下午+时分 包括今天在内的一周内:星期+上午/下午+时分 首先看一下测试类: package hrkj; import
-
详解Java关于时间格式化的方法
一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处理. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String time = dateFormat.format(new Date()); 如果一个DTO类里面有很多关于时间字段需要格式化,就会降低开发效率,产生很多
-
Java使用DateTimeFormatter格式化输入的日期时间
要求: 用DateTimeFormatter实现: 用扫描器获取输入的时间(年月日时分),这个时间的格式是常用的格式,然后格式化这个时间,把格式化的时间输出到控制台,可以在控制台重复输入时间.格式化的时间参考企业微信聊天记录的展示时间 分析: 1.时间的常用格式为: xxxx-xx-xx xx:xx xxxx/xx/xx xx:xx xxxx.xx.xx xx:xx 等格式 2.微信显式时间格式为: 今天显式: 00:01 - 23:59 ; 昨天显式: 昨天 01:01 ; 前天显式: 周几
-
java 格式化时间的示例代码
package jkcs; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class jdcs { public static void main(String[] args) th
-
Java新API的时间格式化
目录 新API的时间格式化 本地化时间 ISO/RFC规范格式 范式格式化 前言: 时间过得真是快,现在已经是2022年了.作为开发来说,时间处理是非常繁琐的.从Java 8开始有了Java 8 Time Api 使用方法技巧.时间的处理更加优雅,不再需要借助三方类库,而且线程安全.今天来梳理一下新API的格式化,而且还要玩点你没玩过的东西,点赞.转发.再看走起来. 新API的时间格式化 新的时间API的时间格式化由java.time.format.DateTimeFormatter负责. 本地
-
java 数值类型分秒时间格式化的实例代码
java 数值类型分秒时间格式化的实例代码 java 实例代码: import java.util.concurrent.TimeUnit; public class DateUtils { private static final String[] UNIT_DESC = new String[]{"天", "小时", "分钟", "秒"}; /** * 格式化持续时间<br/> * 将持续时间,格式化为 xx天
-
详解Java关于JDK中时间日期的API
目录 JDK 8中关于日期和时间的API测试 JDK 8 之前日期和时间的API测试 //1.System类中的currentTimeMillis() public void test1(){ long time = System.currentTimeMillis(); //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为时间为单位的时间差. //称为时间戳 System.out.println(time);//1628416744054 } /* java.util.Date类 |-
-
java日期时间格式化@JsonFormat与@DateTimeFormat的使用
如果要使用 @JsonFormat 这个注解的话,需要在项目中添加 jackson 相关的依赖包; 因为 @JsonFormat 注解不是 Spring 自带的注解,所以使用该注解前需要添加 jackson 相关的依赖包.当然,如果是 SpringBoot 项目就不需要自己手动添加依赖了,因为在 spring-boot-start-web 下已经包含了 jackson 相关依赖. <!-- https://mvnrepository.com/artifact/com.fasterxml.jack
-
Java中的日期时间处理及格式化处理
目录 Date类 Calendar 类 DateFormat 类 SimpleDateFormat 类 Date类 在java.util.Date包中封装了许多现在的日期和时间, 构造函数: Date类表示特定的时间,精确到毫秒.在Java1.1之前,Date类中有好几个函数,允许把时间解释成年月日分秒,也允许解析和格式化日期字符串,由于这些函数不能实现国际化,从Java1.1之后,使用 Calendar 类实现日期和时间字段之间转换. Date d=new Date(); //使用当前日期和时
-
Java日志API管理最佳实践详解
概述 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息.状态信息.调试信息和执行时间信息等.在生产环境中,日志是查找问题来源的重要依据.应用程序运行时的产生的各种信息,都应该通过日志 API 来进行记录. 很多开发人员习惯于使用 System.out.println.System.err.println 以及异常对象的 printStrackTrace 方法来输出相关信息.这
-
关于Springboot日期时间格式化处理方式总结
项目中使用LocalDateTime系列作为DTO中时间的数据类型,但是SpringMVC收到参数后总报错,为了配置全局时间类型转换,尝试了如下处理方式. 注:本文基于Springboot2.x测试,如果无法生效可能是spring版本较低导致的.PS:如果你的Controller中的LocalDate类型的参数啥注解(RequestParam.PathVariable等)都没加,也是会出错的,因为默认情况下,解析这种参数是使用ModelAttributeMethodProcessor进行处理,而
-
SpringBoot中时间格式化的五种方法汇总
目录 前言 时间问题演示 1.前端时间格式化 JS 版时间格式化 2.SimpleDateFormat格式化 3.DateTimeFormatter格式化 4.全局时间格式化 实现原理分析 5.部分时间格式化 总结 参考 & 鸣谢 前言 在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目,其中数据库中包含了一张 userinfo 表,它的组成结构和数
-
java新特性之for循环最全的用法总结
1. 增强for概述 增强for循环,也叫Foreach循环,用于数组和容器(集合类)的遍历.使用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,大大提高的效率,代码也简洁不少. 2. Oracle官网的解释 So when should you use the for-each loop? Any time you can. It really beautifies your code. Unfortunately, you cannot
随机推荐
- CodeFirst从零开始搭建Asp.Net Core2.0网站
- Flex自定义右键菜单具体实现
- jQuery获取页面及个元素高度、宽度的总结——超实用
- JavaScript_object基础入门(必看篇)
- js实现分页功能
- js写的方法实现上传图片之后查看大图
- asp.net微信开发(已关注用户管理)
- PHP 查找字符串常用函数介绍
- 9个实用的PHP代码片段分享
- 兼容ie6浏览器的php下载文件代码分享
- 浅析Go语言中的Range关键字
- 浅谈三种配置linux环境变量的方法(以java为例)
- JQuery ztree 异步加载实例讲解
- 把input初始值不写value的具体实现方法
- 用漏洞提升计算机控制权限(图)
- java利用注解实现简单的excel数据读取
- android读取assets文件示例
- Java如何实现长图文生成的示例代码
- Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
- 用django设置session过期时间的方法解析