Java 将时区设置为IST,但我仍然收到错误的日期错误

Java 将时区设置为IST,但我仍然收到错误的日期错误,java,simpledateformat,date,Java,Simpledateformat,Date,我想取当前时间,与系统日期无关。我在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.Da

我想取当前时间,与系统日期无关。我在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。

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

SimpleDateFormat("yyyyMMdd");
模式定义区分大小写


有关更多信息,请参见

除了Jens的答案外,还请检查此问题->