时间格式化转换及时间比较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

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("符合");
} }
}

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

  1. SpringMVC的controller层接收来自jsp页面通过<a href="/user/userUpdateInfo/>的中文乱码问题

    这种情况是,jsp页面的中文正常显示,数据的中文也是正常显示,但是在Controller层接收到的中文是乱码,如下图所示: 解决方法:在Controller层对前台传递的中文乱码进行处理,将它转换成u ...

  2. Spring+MVC Controller层接收App端请求的中文参数乱码问题。

    在正文之前,说明下Filter的作用: 过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理.通俗点说法filter相当于加油站,request是条路,response是条路,目的地是serv ...

  3. springmvc controller层接收List类型的参数

    Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...

  4. Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)

            一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...

  5. form表单提交controller层接收到的值为乱码的问题

    今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post'  action='xx ...

  6. 重大发现 springmvc Controller 高级接收参数用法

    1.  数组接收 @RequestMapping(value="deleteRole.json") @ResponseBody public Object deleteRole(S ...

  7. @Springboot搭建项目controller层接收json格式的对象失败

    今天在使用swagger2测试的时候出错 1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说: ...

  8. SpringMVC Controller接收参数总结

    本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示: 系统/工具 版本号OS Windows 7 Home BasicJava 1.7.0_79Eclipse M ...

  9. SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

    一.参数的传递 1.简单的参数传递 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ * value:传入的参数名,required:是否必填,defaultValue:默认 ...

  10. Junit mockito 测试Controller层方法有Pageable异常

    1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...

随机推荐

  1. 几种Java常用序列化框架的选型与对比

    简介: 序列化与反序列化是我们日常数据持久化和网络传输中经常使用的技术,但是目前各种序列化框架让人眼花缭乱,不清楚什么场景到底采用哪种序列化框架.本文会将业界开源的序列化框架进行对比测试,分别从通用性 ...

  2. 阿里云服务网格ASM集成SLS告警

    ​简介:随着微服务的流行,微服务的架构也在不断的发展演进,Spring Cloud 与 Dubbo为代表的微服务开发框架也得到了普及和落地:在云原生时代,无侵入的服务网格(Service Mesh)开 ...

  3. 深入浅出讲解MSE Nacos 2.0新特性

    简介: 随着云原生时代的到来,微服务已经成为应用架构的主流,Nacos也凭借简单易用.稳定可靠.性能卓越的核心竞争力成为国内微服务领域首选的注册中心和配置中心:Nacos2.0更是把性能做到极致,让业 ...

  4. Dapr 在阿里云原生的实践

    简介: Faas 场景下,比较吸引用户的是成本和研发效率,成本主要通过按需分配和极致的弹性效率来达成.而应用开发者期望通过 FaaS 提供多语言的编程环境,提升研发效率,包括启动时间.发布时间.开发的 ...

  5. [FAQ] Error occured while trying to proxy to: xx.xx.x.xx:xx/xx

    遇到这种情况,要知道证明访问并未到达指定的服务地址. 可能原因有未启动.端口占用 等等,请逐一排查. Tool:ChatAI Refer:Proxy_Error Link:https://www.cn ...

  6. dotnet 修复 Uno 中文乱码

    这是一个历史问题,在使用 Uno 展示中文的时候,如果设置 Uno 的底层使用 Skia 系进行渲染,那么将会因为中文字体问题,导致渲染出现乱码.此问题已被我修复,最佳解法是更新到最新版本 在上一篇博 ...

  7. DbHelperSQL

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  8. 一步步教你在 Windows 上构建 dotnet 系应用的 UOS 软件安装包

    本文将详细指导大家如何逐步为 dotnet 系列应用创建满足 UOS 统信系统软件安装包的要求.在这里,我们所说的 dotnet 系列应用是指那些能够在 Linux 平台上构建 UI 框架的应用,包括 ...

  9. 零侵入!试试这款Api接口文档生成器!

    大家好,我是 Java陈序员. 作为一名合格的程序员,不仅代码要写好,而且文档要写好. 虽然目前有成熟的框架可以快速生成接口文档,如大名鼎鼎的 Swagger.但是 Swagger 需要编写大量的注解 ...

  10. Solution Set - CDQ分治&整体二分

    A[洛谷P2163].给定平面上若干个点,多次询问给定矩形内的点数. B[洛谷P3810].给定若干个三元组,对所有\(k\),求这样三元组的个数:恰有\(k\)个三元组,满足其每个分量都不超过它的相 ...