我在android应用程序中工作,我使用c#作为服务器,使用RavenDB作为数据库。我正在检索以下json数组作为来自服务器的响应
"GridRecords":[{
"AddedTime":"2013-07-03T19:16:02.3694","TransactId":"CTRF315687490298",
"Status":2,"OtherPartyAccountNo":"364210000001","AmountPaid":100.0,
"AmountRecieved":0.0,"ClosingBalance":674.54,"TransType":8,
"Narration":null,"AddedBy":"Trader-9787457361-Vinoth"}]
我在java中需要dd-mm-YYYY
格式,但是当我将字符串(2013-07-03T19:16:02.3694)解析为java datetime时,我收到一条无法解析的异常消息。
实际上我的代码看起来像,
static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
static SimpleDateFormat currentformatter = new SimpleDateFormat(
"dd-MM-yyyy");
JSONArray ArrayData = data.getJSONArray("GridRecords");
for (int i = 0; i < ArrayData.length(); i++) {
JSONObject reportItem = ArrayData.getJSONObject(i);
Date receiptdate = Date.valueOf(currentformatter.format(formatter.parse(reportItem.getString("AddedTime").toString())));
}
答案 0 :(得分:1)
您的格式字符串与输入日期字符串不匹配:
// 2013-07-03T19:16:02.3694 <-- date string
static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
您需要首先使用SimpleDateFormat
模式yyyy-MM-dd'T'HH:mm:ss.SSSSSS
解析日期字符串,然后使用Date
模式格式化dd-MM-YYYY
对象。记住{{1} }是几个月,MM
代表分钟。
mm
答案 1 :(得分:0)
在C#端使用Json.NET,在Java端使用Gson。
我遇到了和你一样的问题,他们两个都很好地合作。