【问题标题】:Set timezone to IST, but I still get a wrong-date error [duplicate]将时区设置为 IST,但我仍然收到错误日期错误 [重复]
【发布时间】:2017-08-08 06:21:05
【问题描述】:

无论系统日期如何,我都想采用当前时间。我在 netbeans 中使用 Glassfish 服务器和 derby。我尝试了下面的代码来根据 IST 获取当前日期:

DateFormat df = new SimpleDateFormat("yyyymmdd");
    df.setTimeZone(TimeZone.getTimeZone("ist"));
    String gmtTime = df.format(new java.util.Date().getTime());

    java.util.Date parsed = null;
    try {
        parsed = (java.util.Date) df.parse(gmtTime);
    } catch (ParseException ex) {
        Logger.getLogger(EmployeePanel.class.getName()).log(Level.SEVERE, null, ex);
    }
    java.sql.Date date = new java.sql.Date(parsed.getTime());

但我得到的是 2017-01-08 而不是 2017-08-08。

【问题讨论】:

标签: java simpledateformat date


【解决方案1】:

m 是分钟而不是月 (M)。正确的模式是:

SimpleDateFormat("yyyyMMdd");

模式定义区分大小写!

欲了解更多信息,请参阅the javadoc of SimpleDateFormat

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-11
    • 2018-04-29
    • 2016-12-25
    • 1970-01-01
    • 2020-09-15
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多