当我尝试在JSF primefaces日历中添加对locale的支持时,我遇到了一些问题。
我正在通过语言环境&还为日历UI支持添加了locale js文件。 但是当用户从日历&中选择日期时之后,我有以下java代码来解析日期&验证日期。
当前区域设置:fr 假设用户从UI日历中选择“21-Aoû-2015”。 但是对于java日期格式
"21-Aug-2015" in fr locale is "21-août-2015".
同样:
"10-Apr-2019" is "10-avr.-2019"
我正在使用以下代码&选定的区域设置是“fr”:
Date date = null;
boolean isDateValid = false;
for (String pattern : patterns) {
DateFormat df = new SimpleDateFormat(pattern, locale);
try {
date = df.parse(value);
String newDateString = df.format(date);
System.out.println(newDateString);
isDateValid = true;
break;
} catch (ParseException e) {
e.printStackTrace();
}
}
System.out.println("Date : " + date);
所以,主要原因,我发现java DateFormat解析不匹配。即:
当语言环境是“fr”french。
Java解析:
对于“fr”语言环境 -
8月=> “août”代替“Aoû”
Apr => “AVR”。而不是“Avr”