前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >时间格式化转换及时间比较compareTo,Controller层接收参数格式化,从数据源头解决时间格式错误数据对接口的影响

时间格式化转换及时间比较compareTo,Controller层接收参数格式化,从数据源头解决时间格式错误数据对接口的影响

作者头像
oktokeep
发布于 2024-10-09 03:06:01
发布于 2024-10-09 03:06:01
13700
代码可运行
举报
文章被收录于专栏:第三方工具第三方工具
运行总次数:0
代码可运行

时间格式化转换及时间比较compareTo,Controller层接收参数格式化,从数据源头解决时间格式错误数据对接口的影响

/** * 时间格式的转换:在具体报错的地方做转换,可能不能从根本上面解决问题。不排除在其他的代码位置也会使用该错误格式的数据。 * * 1.数据库层:可以将数据源的数据批量格式化 yyyy-MM-dd (错误格式:yyyy-MM-dd 00:00:00) * update tbl_test set ext1 = left(ext1,10) where RIGHT(`ext1`,8) = '00:00:00' and `create_date` >= '2022-10-01 00:00:00' * * ## 没有数据需要二次处理,查询需要批量更新的数据 * select * from tbl_test where RIGHT(`ext1`,8) = '00:00:00' and `create_date` >= '2022-10-01 00:00:00' * * 2.接口层:从源头接口入参的方法处 做错误格式的参数 做兼容处理。按统一的格式来作为入参。 */

A,compareTo(B)

//compareTo 大于 = 1     A>B //compareTo 小于 = -1   A < B //compareTo 等于 = 0    A = B

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.example.core.mydemo.date;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTime2Test {

    public static final DateTimeFormatter DF2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    public static final DateTimeFormatter DF22 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

    public static void main(String[] args) {
        String ss = "2023-11-26 21:00:15";
        System.out.println("ss=" + ss);

        ss = "2023-11-26 21:00";

        /**
         * 时间格式的转换:在具体报错的地方做转换,可能不能从根本上面解决问题。不排除在其他的代码位置也会使用该错误格式的数据。
         *
         * 1.可以将数据源的数据批量格式化 yyyy-MM-dd
         * update tbl_test set ext1 = left(ext1,10) where RIGHT(`ext1`,8)  = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
         *
         * ## 没有数据需要二次处理
         * select * from tbl_test where RIGHT(`ext1`,8)  = '00:00:00' and `create_date` >= '2022-10-01 00:00:00'
         *
         * 2.从源头接口入参的方法处 做错误格式的参数 做兼容处理。
         */
        if(ss.length() == 16){
            ss = ss + ":00";
        }
        LocalDateTime rentDateTime = LocalDateTime.parse(ss, DF2);
        System.out.println("rentDateTime=" + rentDateTime);


        DateTimeFormatter YYYYMMDD_FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd");
        String dateTimeStr = LocalDate.now().format(YYYYMMDD_FORMATTER);
        StringBuffer buffer = new StringBuffer(dateTimeStr);
        buffer.append("080000");
        Long dateTime = Long.valueOf(buffer.toString());
        System.out.println("dateTime=" + dateTime);

//        Long revertTime = 20231130140000L;
        Long revertTime = 20231204080000L;

        //compareTo  大于 = 1
        //compareTo  小于 = -1
        //compareTo  等于 = 0
        System.out.println("compareTo = " + dateTime.compareTo(revertTime));

        //找出revertTime大于当前时间的,标识为“符合”
        if (dateTime.compareTo(revertTime) == 1 || dateTime.compareTo(revertTime) == 0) {
            System.out.println("不符合");
        }else{
            System.out.println("符合");
        }

    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
日期格式化与解析:如何使用DateTimeFormatter处理不同格式的日期与时间?
本文将详细讲解DateTimeFormatter的功能,并通过丰富的示例演示如何高效地格式化和解析日期与时间,包括自定义格式的应用。
猫头虎
2024/12/24
7860
时间格式化中的毫秒占位符详解:从 Python 到 Java
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/09/25
2550
时间格式化中的毫秒占位符详解:从 Python 到 Java
java时间相关类详解(Date类,Calendar类,LocalDate类,时间格式化,时间戳)
常用时间类有Date,Calendar,LocalDate,SimpleDateFormat,时间戳等等。
smallmayi
2022/05/12
2.2K0
java时间相关类详解(Date类,Calendar类,LocalDate类,时间格式化,时间戳)
JSR310新日期API(三)-日期时间格式化与解析
前一篇文章已经比较详细地介绍了JSR-310中新增的常用的日期时间类,在实际应用中,我们也十分关注这些日期时间类的格式化操作,更加通俗来说就是字符串和日期时间类的相互转换问题。下面先回顾一下Java旧有的日期时间类和字符串之间的转换方案,然后重点分析JSR-310中新增的常用的日期时间类和字符串之间的转换方案。
Throwable
2020/06/23
1.6K0
Java时间格式化原来这么多玩法
时间过得真是快,现在已经是2022年了。作为开发来说,时间处理是非常繁琐的。从Java 8开始有了新的时间API、时间的处理更加优雅,不再需要借助三方类库,而且线程安全。今天来梳理一下新API的格式化,而且还要玩点你没玩过的东西,点赞、转发、再看走起来。
码农小胖哥
2022/02/11
4700
Java时间格式化原来这么多玩法
前后端时间转换的那些常见问题及处理方法
在现代的Web开发中,前后端分离的架构已经成为主流,尤其是在Spring Boot和Vue.js的组合中。开发者在这种架构下经常遇到的一个问题就是如何处理时间的转换和显示。前端和后端对时间的处理方式不同,可能会导致时间在传递过程中出现问题,比如时区不同步、格式不一致等。因此,本文将详细讨论在Spring Boot + Vue前后端分离架构中如何处理时间转换问题,并提供一些解决方案。
繁依Fanyi
2024/08/16
4470
全局时间格式化
经常会需要后端给前端传时间,有各种类型的时候,date、java8中LocalDateTime等等,虽然挺简单一个小事,但是也挺繁琐的,毕竟大家容易犯懒。
CBeann
2023/12/25
2390
全局时间格式化
玩转 Java 时间 + 面试题
在 JDK 8 之前,Java 语言为我们提供了两个类用于操作时间,它们分别是:java.util.Date 和 java.util.Calendar,但在 JDK 8 的时候为了解决旧时间操作类的一些缺陷,提供了几个新的类,用于操作时间和日期,它们分别是:LocalTime、LocalDateTime、Instant,都位于 java.time 包下。时间的操作在我们日常的开发中经常见到,比如,业务数据都要记录创建时间和修改时间,并要把这些时间格式化之后显示到前端页面,再比如我们需要计算业务数据的时间间隔等,都离不开对时间的操作,那如何正确而优雅地使用时间?这就是我们接下来要讨论的话题。
架构师修炼
2020/07/17
1.1K0
java 怎么把日期格式化时间_如何实现java日期格式化?
使用LocalDateTime#parse()(或ZonedDateTime#parse()如果字符串恰巧包含时区部分)将String特定模式中的解析为LocalDateTime。
全栈程序员站长
2022/07/23
2.4K0
3种 Springboot 全局时间格式化方式,别再写重复代码了
时间格式化在项目中使用频率是非常高的,当我们的 API 接口返回结果,需要对其中某一个 date 字段属性进行特殊的格式化处理,通常会用到 SimpleDateFormat 工具处理。
程序员小富
2020/09/02
2.3K0
3种 Springboot 全局时间格式化方式,别再写重复代码了
Java格式化日期 微秒
通过执行结果可以看到用SimpleDateFormat对含有微秒值的时间格式在字符串转Date时除了会出现精度丢失的情况,部分时间还会出现转换错误的情况,而用DateTimeFormatter对含有微妙值的时间格式字符串转LocalDateTime则一切正常。 但是一般业务不会用到时间格式的毫秒或者说微秒值,如果真的用到的话建议用LocalDateTime存储,Mysql需要用datetime(6)这样就可以保存微秒值的时间,如图
六月的雨在Tencent
2024/03/28
2610
Java格式化日期 微秒
时间类格式化
文章目录[隐藏] Date LocalDate等 Date 方法1:properties文件添加 # 时间 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 方法2: // 时间格式化 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.setDateForma
用户10325771
2023/03/01
1.6K0
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
在很久之前,我总结了一些jdk7版本之前的关于时间处理的一些公共方法,日期转换成字符串、指定时间加上指定天数后的日期、获取上周周一时间 等等;具体的可以戳链接查看完整的:https://blog.csdn.net/qq_27471405/article/details/79523556
小小鱼儿小小林
2020/06/24
7.5K0
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
Java获取当前时间/日期/时间戳及格式化总结,附代码
概念:格林威治时间1970年01月01日00时00分00秒到现在的总秒数,共10位,单位为秒
全栈程序员站长
2022/10/04
7.2K0
Java获取当前时间/日期/时间戳及格式化总结,附代码
SpringBoot中时间格式化的5种方法!
在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法。 ​
磊哥
2021/07/27
5.4K0
Java8时间方法LocalDate和LocalDateTime工具类
目的地-Destination
2023/10/12
4510
LocalDateTime、Date时间工具类
参考:Date、LocalTime、LocalDate、LocalDate-时间操作工具类_Hatsune_Miku_的博客-CSDN博客
CBeann
2023/12/25
2680
DateTimeFormatter日期格式化
使用旧的Date对象时,我们用SimpleDateFormat进行格式化显示。使用新的LocalDateTime或ZonedLocalDateTime时,我们要进行格式化显示,就要使用DateTimeFormatter。
六月的雨在Tencent
2024/03/28
1470
根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换
根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换
oktokeep
2024/10/09
1190
java最全最常用的日期工具类(随时补充)
@Slf4j public final class DateUtils { private DateUtils() { } private static final String FORMAT_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss"; public static final String FORMAT_YYYY_MM_DD = "yyyy-MM-dd"; public static final String FORMAT_
疯狂的KK
2023/04/10
1.2K0
推荐阅读
相关推荐
日期格式化与解析:如何使用DateTimeFormatter处理不同格式的日期与时间?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档