Как я могу разделить дату из строки даты-времени с часовым поясом? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть строка даты и времени с часовым поясом, например "2019-05-21 04: 49: 39.000Z" this. Как разделить дату из этой строки без метода разделения. Мне нужно использовать форматировщик часового пояса. Кто-нибудь, пожалуйста, помогите мне в этом.

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

public static String getDateTime (String creation_on) {

    SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
    SimpleDateFormat outFormat = new SimpleDateFormat("dd MMM yyyy hh:mm aa");

    try {

        inFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
        Date value = inFormat.parse(created_on);

        outFormat.setTimeZone(TimeZone.getDefault());
        created_on = outFormat.format(value);

    } catch (ParseException e) {
        e.printStackTrace();
    }

    return created_on;
}

Используйте эту функцию. Она поможет вам получить дату и время

1 голос
/ 24 мая 2019

Используйте некоторую библиотеку для разбора String, например, на OffsetDateTime, после того как переменная parsedDateTime получит любую часть времени (час, мин ...) В kotlin (мин API 26):

 val parsedDateTime = OffsetDateTime
.parse("2019-05-21 04:49:39.000Z", DateTimeFormatter.ISO_DATE_TIME)
 val time = "${parsedDateTime.hour} : ${parsedDateTime.minute}"

отметьте этоссылка на дополнительные примеры: примеры

https://grokonez.com/kotlin/kotlin-convert-string-datetime

Обновление:
Как упомянул в комментарии Оле В.В. - если вы еще не находитесь на уровне API 26,Вы можете добавить ThreeTenABP в свой проект Android и импортировать оттуда OffsetDateTime (и этот код работает для более низкого API).

...