|
|
@@ -531,6 +531,7 @@ while (parser.eventType != XmlPullParser.END_DOCUMENT) {
|
|
|
XmlPullParser.END_TAG -> {
|
|
|
when (parser.name) {
|
|
|
"time" -> {
|
|
|
+ subTag = ""
|
|
|
// по закрытию тега "time" пишем погоду в массив
|
|
|
weatherList.add(
|
|
|
Weather(
|
|
|
@@ -552,6 +553,35 @@ while (parser.eventType != XmlPullParser.END_DOCUMENT) {
|
|
|
}
|
|
|
```
|
|
|
|
|
|
+## Разбор даты
|
|
|
+
|
|
|
+Форматы дат более менее [стандартизованы](https://developer.android.com/reference/java/time/format/DateTimeFormatter), но если под рукой нет интернета, то можно разобрать любую дату по [шаблону](https://developer.android.com/reference/java/time/format/DateTimeFormatter#patterns
|
|
|
+
|
|
|
+
|
|
|
+Литерал | Значение
|
|
|
+:------:|---------
|
|
|
+y | Год (2021, 21)
|
|
|
+M | Номер месяца (1..12)
|
|
|
+d | День месяца (1..31)
|
|
|
+H | Часы
|
|
|
+m | Минуты
|
|
|
+s | Секунды
|
|
|
+'' | Любой литерал
|
|
|
+
|
|
|
+```kt
|
|
|
+// разбор простой MySQL даты, тут практически нет подводных камней
|
|
|
+tempDate = LocalDateTime.parse(
|
|
|
+ "2021-11-16 10:12:13",
|
|
|
+ DateTimeFormatter.ofPattern("y-M-d H:m:s")
|
|
|
+)
|
|
|
+
|
|
|
+// разбор ISO даты, нужно экранировать символ "Т" и обрезать лишнюю часть строки
|
|
|
+tempDate = LocalDateTime.parse(
|
|
|
+ "2021-11-16T10:12:13Z".substring(0,19),
|
|
|
+ DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")
|
|
|
+)
|
|
|
+```
|
|
|
+
|
|
|
# Задание
|
|
|
|
|
|
* вывести в элементы списка остальную информацию о погоде (формат XML)
|