Мне нужно получить строку даты и времени в формате
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
, где SSS - цифры для миллисекунд (от 000 до 999).
Я написал следующий фрагмент кода:
Date date=Calendar.getInstance().getTime();
String currentDateTimeString = (String) android.text.format.DateFormat.
format("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Calendar.getInstance().getTime());
но я получаю строки типа
"2019-11-08T13: 39: 33.SSSZ"
из-за некоторых проблем, описанных в этом ответе
https://stackoverflow.com/a/58768066/930835
Этот ответ принят из-за предоставленной им информации. Предложение не применимо к моему случаю.
Действительно, мое приложение должно быть совместимо с уровнем API Android 19.
Кстати, этот вопрос требует оценки конкретного фрагмента кода.
Это отдельный фрагмент кода. Так что это другой вопрос, полезный сам по себе.
Итак, я попробовал этот код
Date date=Calendar.getInstance().getTime();
String currentDateTimeString = (String) android.text.format.DateFormat.
format("yyyy-MM-dd'T'HH:mm:ss",date);
long ms=date.getTime() %1000;
currentDateTimeString=currentDateTimeString+"."+String.valueOf(ms)+"Z";
, но я не знаю, надежен ли он, то есть рассчитывает ли он миллисекундыэта дата мгновенно правильно.