java中的日期转换(String to java.sql.Date)

时间:2014-03-25 08:33:50

标签: java oracle sqldatetime

在我的代码中,我要将String值(输入)转换为java.sql.Date format。我面临的问题是,输入日期格式是未定义的,它可以是任何格式。例如,输入字符串可以是"Jan 10,2014""01-10-2014""2014/Jan/10"。所以现在我需要将此输入值转换为java.sql.Date(DD/MMMM/YYYY)。有没有办法进行这种转换?

2 个答案:

答案 0 :(得分:4)

这是不可能的。

您无法区分dd/MM/yyyyMM/dd/yyyy

你真的需要知道格式,否则你的程序可能不会按照你想要的方式运行。

答案 1 :(得分:0)

尝试使用SimpledateFormat。

使用上述所有模式中的List

这样的事情:

    SimpleDateFormat format1 = new SimpleDateFormat("MMM dd,yyyy");
    SimpleDateFormat format2 = new SimpleDateFormat("MM-dd-yyyy");
    SimpleDateFormat format3 = new SimpleDateFormat("yyyy/MMM/dd");

    // Note: be sure about the format, or else you may end up assigning incorrect values
    List<DateFormat> list = new ArrayList<DateFormat>();
    list.add(format1);
    list.add(format2);
    list.add(format3);

    for (DateFormat format : list) {
        try {
            System.out.println(format.parse("Jan 10,2014"));
            // Match found. Take action
        } catch (ParseException exception) {
            // Ignore. Try other pattern
        }
    }