#android #date #kotlin
Вопрос:
Мне нужно преобразовать дату в String
формате Чт. 23 сентября 2021 г., которая исходит из Api. Api отправил много дат, и я хочу, чтобы все они были преобразованы. (С Файлом Расширений) Как это сделать?
Комментарии:
1. Используйте библиотеку gson ,она может скрыть большую часть(дата API json) формата даты до даты java
Ответ №1:
использовать SimpleDateFormat
,
val date = SimpleDateFormat("dd/MM/yy").parse("31/11/2021");
Это приведет к желаемому результату.
т. е., Чт 31 декабря 00:00:00 IST 1998
Ответ №2:
Вы можете использовать этот фрагмент кода в качестве расширения kotlin.
fun Date.convertDate(dateString:String) : String{
val inFormat = SimpleDateFormat("dd/MM/yy")
var date: Date? = null
try {
date = inFormat.parse(dateString)
} catch (e: ParseException) {
e.printStackTrace()
}
val outFormat = SimpleDateFormat("dd MM, YYYY")
return outFormat.format(date)
}
Комментарии:
1. published.text = model.publishedAt — Опубликованная строка
2. Как я буду использовать это расширение, если моя дата(опубликована) является строкой
3. Добавьте расширение в любой класс, а затем вызовите: published.text=Date().convertDate(model.publishedAt), как это
4. Ошибка java.lang. Исключение NullPointerException: Попытка вызвать виртуальный метод «long java.util.Date.getTime ()» для ссылки на нулевой объект
5. В предоставленной функции расширения мы не вызываем «java.util.Date.getTime ()». Ошибка исходит откуда-то еще.