2013-07-05 3 views
0

Я работаю в Android-приложении, и я использую C# в качестве сервера и RavenDB как базу данных. Я извлекая следующий массив JSON в качестве ответа от сервераCovert C# формат даты и времени в формате java datetime

"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"}] 

мне нужен формат dd-mm-YYYY в Java, но когда я разобрать строку (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()))); 
} 
+1

Как насчет [этого] (http://msdn.microsoft.com/library/8kb3ddd4.aspx) вам нужна помощь? – Corak

+0

Дайте нам фактическое исключение ... –

+1

... и код, который вы пробовали ... –

ответ

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.Remember MM is for months, mm стоит на минуту.

String formattedDate = new SimpleDateFormat("dd-MM-YYYY").format(
         new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS") 
         .parse(reportItem.getString("AddedTime"))); 
0

На стороне C# используйте Json.NET и на стороне Java используйте Gson.

У меня были те же проблемы, что и вы, и оба они отлично работают вместе.

Смежные вопросы