我正在尝试将一个日期字符串转换为Java的日期对象,而不考虑当前系统日期格式。这是因为我希望获取我的自定义日期格式以存储在数据库中。下面是我的代码,请给出建议。
public static String dateToString(String date){
if(date.equals("")) return "";
if(date == null || date.length() == 0){
return "";
}
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
try {
Date l_date = format.parse(date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(l_date);
String year = String.format("%04d", calendar.get(Calendar.YEAR));
String month = String.format("%02d", calendar.get(Calendar.MONTH));
String day = String.format("%02d", calendar.get(Calendar.DATE));
return year + month + day;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
对于SimpleDateFormat,它只能解析我所听到的编码格式。
dateToString("16/04/2015");
它可以转换上述代码。但是,当我尝试使用以下格式时。
dateToString("Thursday, April 16, 2015");
我遇到了一个无法解析日期的错误:“Thursday, April 16, 2015”。
return new SimpleDateFormat("yyyyMMdd").format(calendar.getTime());
,因为日历中的月份是从0开始计数的。 - Joop EggenPreparedStatement :: setObject
和ResultSet :: getObject
。 - Basil Bourque