1

我有一个String包含日期字符串,例如格式为 MM-dd-yy 的 12-28-18。我希望将此参数传递给 Oracle 数据库中的存储过程。

因此,我试图将此字符串转换为java.sql.Date. 以下是我要转换的方法:

DateFormat df = new SimpleDateFormat("MM-dd-yy");
java.util.Date date1 = df.parse(valueobject.getDate());
java.sql.Date date2 = new java.sql.Date(date1.getTime())

然而,它导致ParseException。无法弄清楚为什么它在解析过程中失败。对此的任何帮助都会很棒!

4

3 回答 3

6

使用valueOf()

String date = "2000-11-01"; // YYYY-MM-DD
java.sql.Date sqlDate = java.sql.Date.valueOf(date);
于 2014-11-23T04:41:03.447 回答
0

这对我有用,也许你valueobject.getDate()不返回字符串。请检查!!

SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
    Date parsed = format.parse("07-15-2013");
    java.sql.Date sql = new java.sql.Date(parsed.getTime());

与您的代码类似并且工作得很好!

于 2013-07-15T06:27:29.293 回答
0

尝试这个

    DateFormat df = new SimpleDateFormat("EEE MM-dd-yy hh:mm:ss");
    Date d=new Date();
    String date1 = df.format(d);
    java.sql.Date date2 = new java.sql.Date(d.getTime());
    System.out.println(date1);
    System.out.println(df.format(date2));

或者

    DateFormat df = new SimpleDateFormat("MM-dd-yy");
    Date d=new Date();
    String date1 = df.format(d);
    java.sql.Date date2 = new java.sql.Date(d.getTime());
    System.out.println(date1);
    System.out.println(df.format(date2));
于 2013-07-15T06:00:04.323 回答