如何將C#的DateTime格式從gson轉換爲Java日期? 在gson中setDateFormat是否正確? C#gson JsonSyntaxException to Java來自.NET的日期DateTime
DateTime time = DateTime.Now;
JSON
{
"date_time": "2015-04-24T09:22:08.6964069+08:00"
}
的Android
private Date date_time;
Gson gson= new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create();
gson.fromJson(resultString, objectClass);
E/AndroidRuntime(24671): Caused by: com.google.gson.JsonSyntaxException: 2015-04-24T16:20:08.3672729+08:00
E/AndroidRuntime(24671): Caused by: java.text.ParseException: Unparseable date: "2015-04-24T16:20:08.3672729+08:00"
E/AndroidRuntime(24671): at java.text.DateFormat.parse(DateFormat.java:626)
E/AndroidRuntime(24671): at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:79)
我可以想象您的模式行不通。 'yyyy-MM-dd'T'HH:mm:ss.sZ'或用Java 7'yyyy-MM-dd'T'HH:mm:ss.sX'應該這樣做? – ceekay
我試過了,但它不起作用。 com.google.gson.JsonSyntaxException: '致2015-04-27T09:23:34.982338 + 08:00 在com.google.gson.DefaultDateTypeAdapter.deserializeToDate(DefaultDateTypeAdapter.java:107)' '引起:java.text.ParseException:Unparseable date:「2015-04-27T09:23:34.982338 + 08:00」(at offset 19) at java.text.DateFormat.parse(DateFormat.java:626)' '導致:java.lang.IllegalArgumentException:未知的模式字符'X' 在java.text.SimpleDateFormat.validateFormat(SimpleDateFormat.java:268)' –
好吧,我的錯,你ofc必須提供數字量和使用正確的時間區。 (看我的回答) – ceekay