【时间格式引发的事故】

时间格式引发的事故

背景

前不久写了一个删除数据接口,条件是根据时间删除时间后面的数据。入参是 时间字符串。后台的时间格式 是 yyyyMMdd。然后当时前端传参数的时候,随意的传了2023-07-31的时间,然后将该表的数据全部删除了。

实战演示

java 复制代码
public static void main(String[] args) throws ParseException {
      /**接口参数*/
        String paramTime="2023-07-31";
        /**后台解析格式*/
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyyyMMdd");

        Date date=simpleDateFormat.parse(paramTime);
        String resultTime =simpleDateFormat.format(date);

        System.out.printf("date is "+resultTime);
    }

开始入参是2023-07-31,经过解析后,时间变成了 2022 -12-07 了。这样就多删除了7个多月的数据了。

结论

代码需要经过充分的测试,不能大意。

相关推荐
wuqingshun31415924 分钟前
什么是责任链模式,一般用在什么场景?
java·责任链模式
:-)1 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
wuqingshun3141591 小时前
说一下消息队列的模型有哪些?
java
fīɡЙtīиɡ ℡2 小时前
布隆过滤器
java
yaoxin5211233 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
wuqingshun3141595 小时前
MYSQL的乐观锁和悲观锁是什么?
java
唐青枫6 小时前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java
jvmind_dev6 小时前
Java GC 实战指南(番外篇):被忽视的隐形杀手 —— Class Unloading 如何拖垮 GC
java·后端
An_s6 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AIGS0017 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用