将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())));
}

将c#日期时间格式转换为java日期时间格式

您的格式字符串与输入日期字符串不匹配:

// 2013-07-03T19:16:02.3694 <-- date string
static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

您需要首先使用模式为yyyy-MM-dd'T'HH:mm:ss.SSSSSSSimpleDateFormat解析日期字符串,然后可以使用模式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。

我和你有同样的问题,他们两个合作得很好。