时间格式化转换及时间比较compareTo,Controller层接收参数格式化,从数据源头解决时间格式错误数据对接口的影响
时间格式化转换及时间比较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层接收参数格式化,从数据源头解决时间格式错误数据对接口的影响的更多相关文章
- SpringMVC的controller层接收来自jsp页面通过<a href="/user/userUpdateInfo/>的中文乱码问题
这种情况是,jsp页面的中文正常显示,数据的中文也是正常显示,但是在Controller层接收到的中文是乱码,如下图所示: 解决方法:在Controller层对前台传递的中文乱码进行处理,将它转换成u ...
- Spring+MVC Controller层接收App端请求的中文参数乱码问题。
在正文之前,说明下Filter的作用: 过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理.通俗点说法filter相当于加油站,request是条路,response是条路,目的地是serv ...
- springmvc controller层接收List类型的参数
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...
- Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)
一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...
- form表单提交controller层接收到的值为乱码的问题
今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post' action='xx ...
- 重大发现 springmvc Controller 高级接收参数用法
1. 数组接收 @RequestMapping(value="deleteRole.json") @ResponseBody public Object deleteRole(S ...
- @Springboot搭建项目controller层接收json格式的对象失败
今天在使用swagger2测试的时候出错 1.@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说: ...
- SpringMVC Controller接收参数总结
本文中Controller的开发环境如下表格所示,Maven对应POM配置如下代码段所示: 系统/工具 版本号OS Windows 7 Home BasicJava 1.7.0_79Eclipse M ...
- SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器
一.参数的传递 1.简单的参数传递 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ * value:传入的参数名,required:是否必填,defaultValue:默认 ...
- Junit mockito 测试Controller层方法有Pageable异常
1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...
随机推荐
- 如何快速开发 Serverless Devs Package ?
简介:目前,开发者开发 Serverless Package 的流程相对来说是比较简单的.因为在 Serverless Devs 开发者工具中,已经提供了相对完整的脚手架能力,一文了解详情~ 作 ...
- 重磅 | 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代
简介: 近日,智能数据库和DAS团队研发的智能调参ResTune系统论文被SIGMOD 2021录用,SIGMOD是数据库三大顶会之首,是三大顶会中唯一一个Double Blind Review的,其 ...
- [ML] 数据预处理 - 特性归一化的目的
简而言之,归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]), 从而消除奇异样本数据导致的不良影响. 是否归一化主要在于是否关心变量取值. Tool:ChatAI ...
- WPF 漂亮的现代化控件 新 ModernWPF 界面库
这是一个在 GitHub 上完全开源的库,有十分漂亮的界面,整个都是 Win10 风,界面部分和默认 UWP 相近 这个库支持了 .NET Framework 4.5 和以上的版本,以及 .NET C ...
- WinForm 下的高性能笔迹方法
在 WPF 中可以通过 StylusPlugIn 的方式快速从触摸线程拿到触摸数据,而 WinForms 没有这个机制,但是可以通过 Microsoft.Ink 组件和 WPF 相同在 RealTim ...
- 基于FPGA的二进制转BCD
BCD码(nary-Coded Decimal)又称二-十进制代码,亦称二进码十进数.是一种二进制的数字编码形式,用二进制编码的十进制代码.这种编码形式利用了四个位元来储存一个十进制的数码. 在数字 ...
- 理解FPGA内部的同步信号、异步信号和亚稳态
FPGA(Field-Programmable Gate Array),即现场可编程门阵列.主要是利用内部的可编程逻辑实现设计者想要的功能.FPGA属于数字逻辑芯片,其中也有可能会集成一部分模拟电路的 ...
- 21°C的冬天
2023-12-08 16:15:36 星期五 标题没有在胡说,今天穿着初秋的衣服还嫌热,尤其是蒋震图书馆的空调更是燥热. 明天就去考教资面试了,但是一点也没有学习的兴趣,今天下午四点就写完了这周所有 ...
- docker-compose部署Elasticsearch7.14.1+kabana7.14.1+elasticsearch-head并设置账号密码
学习资料 https://www.bilibili.com/video/BV1eY411w7Lx/ https://www.bilibili.com/video/BV1SQ4y1m7Ds?p=13 仓 ...
- 设置WordPress文章关键词自动获取,文章所属分类名称,描述自动获取文章内容,给文章的图片自动加上AlT标签
最近在优化网站,SEO优化标准:每一篇文章都要有关键词,关键词的个数为3到6个.每一篇文章都要有描述,描述的字数为汉字在70~80之间,在160个字符之间.每一篇文章的图片都要有Alt标签,自动给图片 ...