将时区设置为 IST,但我仍然收到错误日期错误
Set timezone to IST, but I still get a wrong-date error
我想获取当前时间而不考虑系统日期。我在 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");
模式定义区分大小写!
有关详细信息,请参阅 the javadoc of SimpleDateFormat
我想获取当前时间而不考虑系统日期。我在 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");
模式定义区分大小写!
有关详细信息,请参阅 the javadoc of SimpleDateFormat