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

标签 c# java android

我正在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/

相关文章:

c# - Unity Android 前置摄像头 WTF 错误

c# - C# 样本/用法的 Encog 正则化

c# - 如何在 Entity Framework 中获取实体的某些列?

Java : prune method for Java linkedlist

java - 是否可以在保存的密码中创建 Firefox 配置文件和密码?

java - 我得到了这个 Selenium 异常 : Method has not yet been implemented while trying to run my tests using java and Appium

android - 什么是 art.go?为什么它被认为是一种在 bp 文件中编写条件的方法?

android - 如何控制不同Android版本/手机型号菜单的宽度?

c# - 使用 QueryCommand 对象批量插入

c# - 如何从图像尺寸计算纵横比