将日期插入数据库时,我得到了一些奇怪的行为.
数据库使用一个date字段,我的输入是String,所以我将其转换为java.util.Date并随后插入它.
转换代码:
private Date convertToDate(String input) {
try {
return new SimpleDateFormat("dd-MM-YY", Locale.ENGLISH).parse(input);
} catch (ParseException ex) {
Logger.getLogger(OutputProcessor.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
当input = "19-9-2011"它插入2010-12-26数据库时.此外,当我错误地将语言环境设置为法语时,它被插入2011-01-03,使它完全没有任何意义.
另一个后续问题:我的程序将不得不处理所有可能格式的日期,我可以获得尽可能插入日期的用户的区域设置.我将如何继续这样做?
问候.
年份由小型股代表y,而不是Y:
return new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH).parse(input);
Run Code Online (Sandbox Code Playgroud)
Y (大盘)是周年.