Kar*_*k R 7 java time date arabic jodatime
"timestamp_utc": "????-??-??T??:??:??+??:??"
Run Code Online (Sandbox Code Playgroud)
是JSON中的属性.我该如何解析这个日期?我尝试了下面这段代码.
try
{
return new DateTime(dateStr, DateTimeZone.UTC);
}
catch (IllegalArgumentException e)
{
java.util.Locale locale = new java.util.Locale( "ar", "SA" );
DateTimeFormatter formatter = ISODateTimeFormat.dateTime().withLocale( locale );
return formatter.parseDateTime( dateStr );
}
Run Code Online (Sandbox Code Playgroud)
2015-05-11T11:31:47工作得很好.然而,
????-??-??T??:??:??+??:??抛出一个IllegalArgumentException.尝试使用其他语言环境/格式解析日期.没运气.
Locale list[] = DateFormat.getAvailableLocales();
for (Locale aLocale : list) {
try{
DateTimeFormatter formatter = DateTimeFormat.forPattern( "yyyy-MM-dd'T'HH:mm:ssZ" ).withLocale(aLocale);
System.out.println(formatter.parseDateTime( dateStr ));
}
catch(Exception e){
System.out.println("locale " + aLocale.toString() + " error");
}
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我.
添加非阿拉伯字符 (T) 使其成为非阿拉伯日期(我通过尝试在谷歌翻译中翻译它得到了这个想法)。尝试以下操作(将输入日期和模式中的 T 更改为 <space>):
\n\npublic static void main (String[] args) throws java.lang.Exception\n{\n String ara = "\xdb\xb2\xdb\xb0\xdb\xb1\xdb\xb5-\xdb\xb1\xdb\xb1-\xdb\xb0\xdb\xb2 \xdb\xb1\xdb\xb8:\xdb\xb4\xdb\xb4:\xdb\xb3\xdb\xb4+\xdb\xb0\xdb\xb0:\xdb\xb0\xdb\xb0";\n for (Locale aLocale : DateFormat.getAvailableLocales()) {\n //Just to save time, not needed.\n if(aLocale.getLanguage() != "ar") continue;\n try{\n SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss+SS:SS", aLocale);\n System.out.println(sdf.parse( ara ));\n }\n catch(Exception e){\n System.out.println("locale " + aLocale.toString() + " error");\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n