记Java后端处理日期格式的方法--不断更新中
发布日期:2021-06-29 12:04:23 浏览次数:2 分类:技术文章

本文共 1298 字,大约阅读时间需要 4 分钟。

常用的处理类Date、Calendar不是多线程安全的,LocalDate和LocalDateTime 是线程安全的。

LocalDate和LocalDateTime是JDK8的一个特性,使用起来比较方便且是线程安全的,所以尽量在处理日期类型的数据时使用LocalDate和LocalDateTime。
比如数据的datetime格式的数据,使用LocalDate和LocalDateTime都可以映射取到值,但是唯一的区别是LocalDate取出的数据格式是 “yyyy-MM-dd” 和LocalDateTime “yyyy-MM-dd HH:mm:ss” ,LocalDateTime 包含时分秒。

//更新时间private LocalDateTime createTime;//更新时间private LocalDate createTime;

从数据库中取出的时候根据需要的格式使用数据格式。

从前端取值的时候,封装数据的时候也用需要根据对应的格式使用LocalDate和LocalDateTime获取。

//把Date类型的数据转成字符串"yyyy-MM-dd"或者是"yyyy-MM-dd HH:mm:ss"格式//使用SimpleDateFormatSimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String format1 = format.format(date);//把"yyyy-MM-dd"类型的字符串转成日期类型//使用SimpleDateFormatString time="2008-08-08";Date d=new SimpleDateFormat("yyyy-MM-dd").parse(time);//使用LocalDate第一个参数是字符串累类型,第二个参数是传进来的时间格式//LocalDateTime使用方法相同String dateStr="2008-08-08 12:00:00";LocalDate dateStr = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

如果想对两个时间的大小做比较,LocalDate有两个自带的方法去比较

//理解为:date对象调用isAfter(),isBefore(),判断传入的时间对象是在date对象之前还是之后LocalDate now = LocalDate.now();Boolean flag = date.isBefore(now);

对两个时间的相差秒数计算使用Duration类,也是jdk1.8的一个时间处理类

LocalDate now = LocalDate.now();//理解为:传入两个时间对象,返回类型是long的秒数差Duration between = Duration.between(now,date);Long secounds = between.getSeconds()

转载地址:https://blog.csdn.net/zzztimes/article/details/115375230 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:swagger文档无法测试下载文件的接口解决方式
下一篇:Idea优化设置,IDEA自动清除无用导入import,自动清除未使用的依赖包

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月10日 21时07分28秒