将字符串转换为日期 java

Convert String into Date java

import java.text.DateFormat;
import java.text.ParseException; 
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatter {
    public static void main(String[] args) throws ParseException {       
        String testString = "14 September 11";
        DateFormat df = new SimpleDateFormat("dd MMMM yy");
        Date newDate = df.parse(testString); 
    }
}

告诉我,为什么我有:

Exception in thread "main" java.text.ParseException: Unparseable date: "14 September 11"
    at java.text.DateFormat.parse(DateFormat.java:357)
    at com.testtask.ruslan.converter.DateFormatter.main(DateFormatter.java:17)

它适用于英语语言环境,但不适用于其他语言。 不要依赖默认区域设置。您始终应该为此类转换明确指定区域设置:

随着 Locale.US 它通过了:

    String testString = "14 September 11";
    DateFormat df = new SimpleDateFormat("dd MMMM yy", Locale.US);
    Date newDate = df.parse(testString);

使用 new Locale("ru", "RU") 失败:

    String testString = "14 September 11";
    DateFormat df = new SimpleDateFormat("dd MMMM yy", new Locale("ru", "RU"));
    Date newDate = df.parse(testString);