Java SimpleDateFormat在Date对象中返回错误的值

raw*_*215 0 java date date-format simpledateformat

我正在尝试解析一个字符串以获取Date对象,但它总是返回Sun. 2012年12月30日为日期.有没有人对我做错了什么有任何想法?

我使用YYYY-MM-dd格式的字符串使用相同的代码,它工作得很好,所以我不确定为什么切换到这种格式会导致问题.

 public static Date getDateObjFromStr(String dateStr)
{
    DateFormat formatter = new SimpleDateFormat("MM/dd/YYYY");
    Date dateObj;
    try {
        dateObj = formatter.parse(dateStr);
        return dateObj;
    } catch(Exception e) {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

表示日期的字符串

SimpleDateFormat对象返回的Date对象

Rei*_*eus 8

区分大小写

大写Y代表基于周的年份.

尝试使用小写字母y代替

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)