首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Date to SQLDate

Date to SQLDate
EN

Stack Overflow用户
提问于 2012-07-02 20:15:44
回答 2查看 134关注 0票数 0

我有一个简单的函数将date转换为java.sql.date

代码语言:javascript
代码运行次数:0
运行
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-02 20:26:48

试一下,

代码语言:javascript
代码运行次数:0
运行
复制
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());
票数 2
EN

Stack Overflow用户

发布于 2012-07-02 20:17:53

它不应该是:

代码语言:javascript
代码运行次数:0
运行
复制
dt = java.sql.Date.valueOf(cal.get(cal.YEAR) + "-" + cal.get(cal.DATE)  + "-" +(cal.get(cal.MONTH)+1));

同意yyyy-dd-mm格式,如您的代码示例所示的yyyy-mm-dd格式:

代码语言:javascript
代码运行次数:0
运行
复制
cal.get(cal.YEAR) + "-" + (cal.get(cal.MONTH)+1) + "-" + cal.get(cal.DATE)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11293523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档