欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SimpleDateFormat 日期格式化到2021年问题

程序员文章站 2022-03-19 20:01:51
从昨天开始就有业务同事反馈说日期生成的时候都跑到2021年了,我就先把把数据库中的日期都给改到了2020年,然后赶快看了下代码,因为之前都测试过,没啥问题,又仔细看了一遍,也没看出啥问题。然后就跟业务说了,再有业务了你跟我说下,我来试试看有问题没,然后第二天又收到了此信息想起早上看 程序猿DD 公众号中的发的文章然后就赶快查了一下我自己的代码 ,果然中招了????然后就本地建了个测试类,试了一下为保证统一,我本地用的日期工具类是 ...

从昨天开始就有业务同事反馈说日期生成的时候都跑到2021年了,我就先把把数据库中的日期都给改到了2020年,然后赶快看了下代码,因为之前都测试过,没啥问题,又仔细看了一遍,也没看出啥问题。然后就跟业务说了,再有业务了你跟我说下,我来试试看有问题没,然后第二天又收到了此信息
SimpleDateFormat 日期格式化到2021年问题
想起早上看 程序猿DD 公众号中的发的文章
SimpleDateFormat 日期格式化到2021年问题
然后就赶快查了一下我自己的代码 ,果然中招了????
SimpleDateFormat 日期格式化到2021年问题
然后就本地建了个测试类,试了一下
为保证统一,我本地用的日期工具类是

     <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.9.2</version>
        </dependency>

代码如下:

import org.joda.time.DateTime;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期序列化验证
 */
public class DateSerializationTest {

    static SimpleDateFormat DF1 = new SimpleDateFormat("YYYY-MM-dd");
    static SimpleDateFormat DF2 = new SimpleDateFormat("yyyy-MM-dd");

    public static void main(String[] args) {

        String date1 = DF1.format(new Date());
        System.out.println(date1);
        System.out.println(DateTime.parse(date1).toDate());
        System.out.println("====================================================");
        String date2 = DF2.format(new Date());
        System.out.println(date2);
        System.out.println(DateTime.parse(date2).toDate());



    }


}

结果如下:
SimpleDateFormat 日期格式化到2021年问题
总结:出现此类问题就是日常代码规范问题导致的
所以我就给自己的idea装了一个alibaba的代码校验工具
SimpleDateFormat 日期格式化到2021年问题
使用方法很简单 右键选择 代码规约扫描
SimpleDateFormat 日期格式化到2021年问题
SimpleDateFormat 日期格式化到2021年问题

本文地址:https://blog.csdn.net/G_whang/article/details/111981050

相关标签: BUG总结 java