将Datetime解析为JAVA日期

将Datetime解析为JAVA日期,java,sql-server-2008,datetime,Java,Sql Server 2008,Datetime,我从SqlRowSetlike获取SQL Server日期时间(2013年1月1日) while (rs.next()) { myBean.setDateProp(rs.getString(4)); } myBeanDateProp的类型是java.util.Date,是否有办法将(2013年1月1日)转换为java日期表示 我尝试了以下代码 SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss.SSS"); Da

我从
SqlRowSet
like获取SQL Server日期时间(2013年1月1日)

while (rs.next()) {
 myBean.setDateProp(rs.getString(4));
}
myBean
DateProp
的类型是
java.util.Date
,是否有办法将
(2013年1月1日)
转换为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日”

任何方向…

试试这个-

SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy");
Date date=new Date();        
try {
    date = sdf.parse("1 Jan 2013");           
}catch (Exception e) {
    e.printStackTrace();
}   
试一试


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

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

由于您的日期字符串是这种格式的

我尝试了以下代码之后发生了什么?您是否有任何异常?为什么要使用rs.getString()而不是rs.getDate()?当您的日期字符串看起来像2013年1月1日时,为什么要使用格式
dd-MMM-yyy HH:mm:ss.SSS
?很明显,字符串的格式不是您正在使用的格式。@PradeepSimha我得到了
ParseException
@Charlie我尝试过,但SQL server db中的格式是DateTime,因此它抛出一个异常,说明找不到日期。我尝试过,但db server格式是DateTime,因此它给我一个错误,即在索引4s中找不到日期可疑。无论如何,试试rs.getTimestamp(4)。这几乎奏效了解析已经完成了,但当它转换为java日期时,它会显示我
2013年1月1日星期二00:00:00 PKT
不打印
java.util.date
对象。打印格式化字符串。lyk-
System.out.println(sdf.format(日期))我正在打印格式化字符串,打印效果很好,但是我必须为我的模型的日期属性赋值。。。
    @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);
    }
    @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);
    }