2016-03-21 6 views
-1

Мне просто нужен образец кода или предложение преобразовать следующую строку даты в utc и найти разницу с текущим временем в java?java - Преобразовать строку даты в UTC

строка даты "2016-03-21T15: 58: 36-04: 00"

Заранее спасибо

+8

Существует множество вопросов по переполнению стека о синтаксическом анализе строк даты/времени в Java. Как вы посмотрели на кого-нибудь из них? Имейте в виду, что 'SimpleDateFormat.parse' вернет' Date', который не имеет часового пояса - это всего лишь мгновенное время. Если у вас есть строка формата справа, и данные содержат смещение UTC в любом случае (как здесь), дальнейших преобразований не будет. –

ответ

0

Вам нужно форматировать строку даты в следующим образом:

String string = "2016-03-21T15:58:36-04:00"; 
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ENGLISH); 
Date date = format.parse(string); 

Тогда вам просто нужно использовать Date API, чтобы найти разницу во времени.

-2
public static long getMillisFrom(String inStrDate) { 

    DateFormat ISO_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); 

    Date inDate = ISO_DATE_FORMAT.parse(inStrDate); 

    Date curDate = new Date(); 

    long diffMillis = curDate().getTime() - inDate.getTime(); 
    return diffMillis 

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