3

我正在获取 SQL Server 日期时间(2013 年 1 月 1 日)SqlRowSet等形式

while (rs.next()) {
 myBean.setDateProp(rs.getString(4));
}

的类型myBean DatePropjava.util.Date,有没有办法转换(1 Jan 2013)为 java 日期表示。

我试过下面的代码

SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss.SSS");
Date date=new Date();        
    try {
        date = sdf.parse("1 Jan 2013");           
    } catch (Exception e) {
        e.printStackTrace();

    }       

我得到了ParseException

严重:java.text.ParseException:无法解析的日期:“2013 年 1 月 1 日”

任何方向...

4

4 回答 4

6

试试这个 -

SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy");
Date date=new Date();        
try {
    date = sdf.parse("1 Jan 2013");           
}catch (Exception e) {
    e.printStackTrace();
}   
于 2012-12-20T08:02:54.423 回答
2

尝试

while (rs.next()) {
 myBean.setDateProp(rs.getDate(4));
}
于 2012-12-20T08:04:39.857 回答
2
    @Test
    public void test() throws ParseException {

        String dateString = "1 Jan 2013";
        String dateString2 = "11 Jan 2013";
        SimpleDateFormat sdf = new SimpleDateFormat("d MMM yyyy");


        sdf.parse(dateString);
        sdf.parse(dateString2);
    }
于 2012-12-20T08:07:49.163 回答
1

您需要将日期格式化程序字符串修改为

SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy");

因为您的日期字符串是这种格式

于 2012-12-20T08:06:58.890 回答