使用“yyyy-MM-dd hh:mm:ss”模式解析日期

我正面临着“yyyy-MM-dd hh:mm:ss”日期解析模式的奇怪行为。下面是我的代码。


    public static void main(String[] args) throws Exception {

        System.out.println(parseDate("2018-08-16 11:00:00"));

        System.out.println(parseDate("2018-08-16 12:00:00"));

        System.out.println(parseDate("2018-08-16 13:00:00"));

    }


    public static Date parseDate(String date) throws Exception {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        return sdf.parse(date);

    }

我得到以下输出


UTC 2018 年 8 月 16 日星期四 11:00:00


UTC 2018 年 8 月 16 日星期四 00:00:00


UTC 2018 年 8 月 16 日星期四 13:00:00


我不明白为什么“2018-08-16 12:00:00”的第二个输出是说 Thu Aug 16 00:00:00 UTC 2018 而不是 Thu Aug 16 12:00:00 UTC 2018。


从这里查看日期解析模式的文档。它说


h -> 上午/下午的小时 (1-12)


有人可以解释一下吗?感谢期待。


至尊宝的传说
浏览 204回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java