将c#日期时间格式转换为java日期时间格式
本文关键字:格式 日期 时间 java 转换 | 更新日期: 2023-09-27 18:21:24
我在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");
您需要首先使用模式为yyyy-MM-dd'T'HH:mm:ss.SSSSSS
的SimpleDateFormat
解析日期字符串,然后可以使用模式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#端使用Json.NET,在Java端使用Gson。
我和你有同样的问题,他们两个合作得很好。