JAVA 日期格式问题

[code="java"]
/*
*String 转化为Date格式
*/
public static Date getDate(Object o) {
String s = String.valueOf(o);
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (s == null || s.equals("null") || s.equals(""))
return null;
else {
try {
date = sdf.parse(s);

        } catch (Exception ex) {

        }
        return date;
    }

}

[/code]

从oracle读出的date 为 2010-03-05
经上述方法处理后变成 Fri Mar 05 00:00:00 CST 2010
这是什么原因,想得到String类型的2010-03-05该如何处理

[quote]从oracle读出的date 为 2010-03-05

经上述方法处理后变成 Fri Mar 05 00:00:00 CST 2010[/quote]

Java已经用yyyy-MM-dd的格式,解析了字符串。成功的将字符串解析为了Date类型。

[b]但是这个Date的格式并未指定,因为你设定的只是解析的格式。[/b]

要得到“2010-03-05”的格式,你需要再格式化一下Date。

你这是String转Date ? 正确的应该是
[code="java"]
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String date = sdf.format(date);
[/code]

[code="java"]
public static void main(String[] agrs) throws Exception {

    /*
     * String 转化为Date格式
     */
    String s = "2010-03-05";
    Date date = null;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    if (s == null || s.equals("null") || s.equals(""))
        return;
    else {
        try {
            date = sdf.parse(s);

        } catch (Exception ex) {

        }

        //System.out.println(date);
        System.out.println(sdf.format(date));
    }

}

[/code]