2016-10-09 3 views
0

Это первый раз, когда я работаю с MSSQL (не контролируем мной), а также с WebServices (также третьей партии)Как сделать DATETIME Convertion

Во всяком случае, я получаю JSON массива отдачу от них, и один из возвращение - Datetime. Возвращение, как показано ниже: (FieldName: DataReturn) CreatedDateTime: /Дата (1474300800000 + 0800)/

Я стараюсь Google вокруг, но я думаю, что я не имею права "Ключевое слово", так что я не может получить какой-либо пример/учебник для этого.

Так в андроида студии, как я могу конвертировать/отформатировать выше для YYYY/MM/DD или DD/MM/YYY

Благодарности

+1

это временная метка. google конвертирует временную метку на сегодняшний день. –

+1

Используя Joda Time, вы можете скрыть его до объекта 'DateTime', используя' DateTime dt = new DateTime (timestamp); 'и затем проанализировать его в любом формате, который вы хотите. –

ответ

1

В вашем случае, отметка времени равна 1474300800000. Вот как вы можете отформатировать эту дату:

String timestamp = "/Date(1474300800000+0800)/"; 
    Calendar cal = Calendar.getInstance();   
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); 

    cal.setTimeInMillis(Long.valueOf(timestamp.substring(6,19)).longValue()); 
    dateFormat.setCalendar(cal); 

    String formatted = dateFormat.format(cal.getTime()); 

Кроме того, как я могу видеть данные в формате JSON содержит TimeZone информацию (+0800 в вашем случае). Если вы хотите указать часовой пояс для объекта Calendar, вот как вы это делаете:

TimeZone tz = TimeZone.getTimeZone("GMT+0800") // Add "GMT" at the beginning. 
Calendar cal = Calendar.getInstance(tz); 
+0

Я получаю возврат «1974/09/03» , но внутри базы данных «2016-09-20 00: 00: 00.000» –

+0

Я получаю возврат «1974/09/03» , но внутри базы данных есть «2016-09-20 00: 00: 00.000» –

+0

String temp = mVar.replace ("/ Date (", ""); temp = temp.replace (") /", ""); temp = temp.substring (0, 12); long l = Long.parseLong (temp); Календарь c = Calendar.getInstance(); c.setTime (новая дата (l)); SimpleDateFormat dateFormat = новый SimpleDateFormat ("yyyy/MM/dd"); Строка formatted = dateFormat.format (c.getTime()); –