Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-SimpleDataFormat-ParseException-Pattern似乎匹配_Java - Fatal编程技术网

Java-SimpleDataFormat-ParseException-Pattern似乎匹配

Java-SimpleDataFormat-ParseException-Pattern似乎匹配,java,Java,我编写了一个类,试图将对象转换为日期 对于字符串表示,它尝试通过搜索预定义日期格式模式与该字符串的匹配来确定日期格式。如果某个模式匹配,它将使用simpleDataFormat中的该模式来解析该字符串 我知道这种方法是不确定的,因为它会在1928年8月6日失败,在1928年8月6日,像d/M/yyyy和M/d/yyyy这样的多个模式会匹配 下面是引发ParseException的相关代码部分: // dateFormat is "d MMMM yyyy" SimpleDateFormat si

我编写了一个类,试图将对象转换为日期

对于字符串表示,它尝试通过搜索预定义日期格式模式与该字符串的匹配来确定日期格式。如果某个模式匹配,它将使用
simpleDataFormat
中的该模式来解析该字符串

我知道这种方法是不确定的,因为它会在1928年8月6日失败,在1928年8月6日,像d/M/yyyy和M/d/yyyy这样的多个模式会匹配

下面是引发ParseException的相关代码部分:

// dateFormat is "d MMMM yyyy"

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
simpleDateFormat.setLenient(false);


// objectToConvert is "8 June 1982"
return simpleDateFormat.parse((String)objectToConvert);
java.text.ParseException: Unparseable date: "8 June 1982"
我不明白为什么会出现以下异常:

// dateFormat is "d MMMM yyyy"

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
simpleDateFormat.setLenient(false);


// objectToConvert is "8 June 1982"
return simpleDateFormat.parse((String)objectToConvert);
java.text.ParseException: Unparseable date: "8 June 1982"
致以最良好的祝愿,
Jens

很可能您在不同的
地区
,其中六月的拼写不同(对我来说,在我的地区,它是
Juni

试试这个:

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("d MMM yyyy", Locale.ENGLISH);

有趣的是,这在Java6中适用于我。亲爱的Aleksandr,你是对的。我相应地改变了问题。非常感谢你的提示。代码运行的服务器位于不同的
区域设置
。我更改了日期分析器的参数,以便调用者可以选择传递
区域设置