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

Java yyyy-MM-dd HH:mm 与 yyyy-MM-dd hh:mm引发的大坑

程序员文章站 2022-05-30 16:29:45
...

项目中,以前有个需求,每隔一段时间,拉取车辆的最新坐标位置

然后根据时间进行归档、检查、清洗、预警、报警等操作

但是

源数据没问题,归档的数据,总是对不上,有时好,有时坏,检查了很多遍代码,发现了不少问题

但是,归档数据错误的问题,依旧存在

最后发现,同事在按时间归档的时候,使用了yyyy-MM-dd hh:mm:ss

于是乎,0-12点的数据正确,12点以后的不正确,如果出现跨12点的数据,数据完全混乱了

不是错误的错误,太坑

大写的H是二十四小时制的小时数(0-23),小写的h是十二小时制的小时数(am/pm 1-12)
    public static void main(String[] args) {
        Date date = new Date();

        String date_HH = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
        System.out.println(date_HH);

        String date_hh = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);
        System.out.println(date_hh);
    }

输出:

2020-07-02 17:25:27
2020-07-02 05:25:27

相关标签: 错误总结