我面临着使用英语操作系统的非英语语言环境的Date.parse()方法的问题。 我使用Date.parse()方法来解析输入的date值。对于不同的语言环境会有所不同。这里有些例子。 03-Feb-2016 00:00英语 01.Feb.2016 00:00德国 2016-2-01 00:00日本人
因此对于德语语言环境,上面的字符串(01.Feb.2016 00:00)传递给解析()
try
{
Date.parse( value );
}
catch( IllegalArgumentException e )
{
valid_value= false;
}
其中值为“01.Feb.2016 00:00”,然后它进入catch块。 请帮助我如何验证值或转换英语语言环境可接受的值。
答案 0 :(得分:1)
您可以使用DateFormat.getInstance()
为您的区域设置获取格式化程序的特定实例:
DateFormat format = DateFormat.getInstance(SHORT, locale);
答案 1 :(得分:1)
您可以使用以下代码
//Germany local date
Date date = new Date();
DateFormat dateFormat;
dateFormat = DateFormat.getDateInstance(DateFormat.SHORT,Locale.GERMANY);
dateFormat.format(date);
OR
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.GERMANY);
simpleDateFormat.format(date);