我正在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日期时间时,我收到一条异常消息,例如无法解析。
实际上我的代码看起来像,
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())));
}
最佳答案
您的格式字符串与输入日期字符串不匹配:
// 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
解析日期字符串,然后您可以格式化具有 dd-MM-YYYY
模式的 Date
对象。记住 MM
代表月份,mm
代表分钟。
String formattedDate = new SimpleDateFormat("dd-MM-YYYY").format(
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS")
.parse(reportItem.getString("AddedTime")));
关于c# - 将c#日期时间格式转换为java日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17490237/