将"2013年2月1日星期五"转换为"2013-02-01"

sud*_*udo 5 java date simpledateformat

如何在Java中执行此转换?

目前,我正在做:

public static String formatDate(String strDateToFormat) {
    try {
        SimpleDateFormat sdfSource = new SimpleDateFormat("EEEE, MMMM DD, YYYY");
        Date date = sdfSource.parse(strDateToFormat);
        SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd");
        return sdfDestination.format(date);
    } catch (ParseException pe) {
        System.err.println("Parse Exception : " + pe);
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

但是,这会导致格式不正确.它给了我以下输出:

Friday, February 1, 2013 > 2013-01-04
Thursday, January 31, 2013 > 2013-01-03
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 9

您正在使用DD解析部分,即一年中的某一天.你想要的dd.您也可能想要yyyy(年)而不是YYYY(周年).(在大多数情况下,它们的价值相同,但并非总是如此.)