【时间格式引发的事故】

时间格式引发的事故

背景

前不久写了一个删除数据接口,条件是根据时间删除时间后面的数据。入参是 时间字符串。后台的时间格式 是 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个多月的数据了。

结论

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

相关推荐
我爱挣钱我也要早睡!1 小时前
Java 复习笔记
java·开发语言·笔记
AD钙奶-lalala3 小时前
Mac OS上搭建 http server
java
皮皮林5517 小时前
SpringBoot 全局/局部双模式 Gzip 压缩实战:14MB GeoJSON 秒变 3MB
java·spring boot
weixin_456904277 小时前
Spring Boot 用户管理系统
java·spring boot·后端
趁你还年轻_7 小时前
异步编程CompletionService
java
DKPT7 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
sibylyue7 小时前
Guava中常用的工具类
java·guava
奔跑吧邓邓子7 小时前
【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
java·spring boot·实战·web开发·接口设计
专注API从业者7 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
奔跑吧邓邓子8 小时前
【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
java·spring boot·实战·自动配置