我有一个简单的函数将date
转换为java.sql.date
。
public static java.sql.Date getSqlDate(String dateStr, String format) {
java.sql.Date dt = null;
Date date;
SimpleDateFormat df = new SimpleDateFormat(format);
ParsePosition pos = new ParsePosition(0);
date = df.parse(dateStr, pos);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
dt = java.sql.Date.valueOf(cal.get(cal.YEAR) + "-" + (cal.get(cal.MONTH)+1)
+ "-" + cal.get(cal.DATE));
return dt;
}
问题是,当我用下面的代码调用这个函数时,我得到了一个IllegalArgumentException
。
"2008-02-04","yyyy-dd-MM“
也许我不能捕捉到代码中的错误,因此希望有另一双眼睛来研究这个问题,并请纠正我……
-- M
发布于 2012-07-02 12:26:48
试一下,
java.util.Date dt = null;
SimpleDateFormat df = new SimpleDateFormat(format);
ParsePosition pos = new ParsePosition(0);
date = df.parse(dateStr, pos);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
发布于 2012-07-02 12:17:53
它不应该是:
dt = java.sql.Date.valueOf(cal.get(cal.YEAR) + "-" + cal.get(cal.DATE) + "-" +(cal.get(cal.MONTH)+1));
同意yyyy-dd-mm格式,如您的代码示例所示的yyyy-mm-dd格式:
cal.get(cal.YEAR) + "-" + (cal.get(cal.MONTH)+1) + "-" + cal.get(cal.DATE)
https://stackoverflow.com/questions/11293523
复制相似问题