Я пытаюсь преобразовать дату в миллисекундах к следующему ISO 8601:Форматирование ISO 8601 Дата с разделителя двоеточие
Но я получаю следующее с помощью SimpleDateFormat:
/**
* It converts the time from long to the ISO format
*
* @param timestampMillis
* @return isoDate
*/
public String convertTimeMillisToISO8601(String timestampMillis)
{
long timeInLong= Long.parseLong(timestampMillis);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String isoDate = df.format(new java.util.Date(timeInLong));
return isoDate;
}
ВЫВОД:
"ts":"2015-06-18T09:56:21+0000"
Я знаю, что могу использовать подстроку, чтобы добавить дополнительный двоеточие, но есть ли лучший способ сделать это?
Пробовали ли вы 'x' для часового пояса? –
на основе этого вопроса и ответа. Я думаю, что это не поддерживается в Java 'SimpleDateFormat' http://stackoverflow.com/questions/2201925/converting-iso-8601-compliant-string-to-java-util-date – Yazan
@Tichodroma - да, все распечатывается для UTC, он будет печатать Z. –