Мне просто нужен образец кода или предложение преобразовать следующую строку даты в utc и найти разницу с текущим временем в java?java - Преобразовать строку даты в UTC
строка даты "2016-03-21T15: 58: 36-04: 00"
Заранее спасибо
Мне просто нужен образец кода или предложение преобразовать следующую строку даты в utc и найти разницу с текущим временем в java?java - Преобразовать строку даты в UTC
строка даты "2016-03-21T15: 58: 36-04: 00"
Заранее спасибо
Вам нужно форматировать строку даты в следующим образом:
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, чтобы найти разницу во времени.
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
}
Существует множество вопросов по переполнению стека о синтаксическом анализе строк даты/времени в Java. Как вы посмотрели на кого-нибудь из них? Имейте в виду, что 'SimpleDateFormat.parse' вернет' Date', который не имеет часового пояса - это всего лишь мгновенное время. Если у вас есть строка формата справа, и данные содержат смещение UTC в любом случае (как здесь), дальнейших преобразований не будет. –