【时间格式引发的事故】

时间格式引发的事故

背景

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

结论

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

相关推荐
好家伙VCC3 分钟前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
程序员小崔日记5 分钟前
我参加了第十七届蓝桥杯 Java B 组省赛,这套题你能撑到第几题?
java·算法·蓝桥杯大赛
大黄说说8 分钟前
Go并发双雄:WaitGroup与Channel的抉择与协作
java·服务器·数据库
一只幸运猫.11 分钟前
用户58856854055的头像[特殊字符]Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·spring boot·后端
jjjava2.016 分钟前
数据库事务:ACID特性与实战应用
java·开发语言·数据库
HYNuyoah19 分钟前
docker网站配置迁移(旧换新)
java·docker·容器
ch.ju21 分钟前
Java程序设计(第3版)第二章——表达式和算术运算符
java
发发就是发24 分钟前
顺序锁(Seqlock)与RCU机制:当读写锁遇上性能瓶颈
java·linux·服务器·开发语言·jvm·驱动开发
我命由我1234527 分钟前
Android Jetpack Compose - ModalNavigationDrawer、NavigationRail、PullToRefreshBox
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
Byron__35 分钟前
HashSet/LinkedHashSet/TreeSet 原理解析
java