【问题标题】:Java SimpleDateFormat parsed datetime is different with Calendar datetime [duplicate]Java SimpleDateFormat 解析的日期时间与日历日期时间不同 [重复]
【发布时间】:2016-01-25 10:39:10
【问题描述】:

我运行以下代码:

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd hh:mm zzz");
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
System.out.println(date);
System.out.println(sdf.format(date));

我得到了:

Mon Jan 25 18:32:52 CST 2016
2016-01-25 06:32 CST

我在中国。为什么?

【问题讨论】:

    标签: java datetime calendar


    【解决方案1】:

    SimpleDateFormat 中,hh 说明符将日期格式化为 12 小时制(通常与 am/pm 表示法一起使用)。如果您需要 24 小时制,请使用 HHkk

    ...
    SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm zzz");
    ...
    

    另见https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

    H一天中的小时(0-23)

    k一天中的小时(1-24)

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

    【讨论】:

    • 非常感谢,我太粗心了。
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 2020-06-09
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多