Основной формат данных конвертировать в Java - PullRequest
0 голосов
/ 12 октября 2019

У меня есть JSP, в котором есть средство выбора данных, и вывод возвращает строку данных в формате dd-MM-гггг.

теперь я хочу выводить точно в формате даты и времени -> 2019-01-01T01: 01: 59Z.

Полагаю, это от простого формата даты к формату даты и времени. Я пробовал и свою ошибку бросать. вот мой кодСбой formatedate2.

DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
    DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
    LocalDate date = LocalDate.parse("2018-04-10T04:00:00.000Z", inputFormatter);
    String formattedDate = outputFormatter.format(date);
    LocalDate date2 = LocalDate.parse("12-10-2019", outputFormatter);
    String formattedDate2 = inputFormatter.format(date2);


    System.out.println(formattedDate2); 

Может кто-нибудь подсказать мне, как это сделать. Ценю вашу большую помощь

1 Ответ

0 голосов
/ 12 октября 2019

Это берет вашу LocalDate и преобразует ее в LocalDateTime, используя LocalTime.MIN, который равен 00:00. Затем мы преобразуем LocalDateTime в ZonedDateTime, используя atZone с ZoneId UTC. Затем мы форматируем этот ZonedDateTime в нужный вам формат, используя format (). Надеюсь, это поможет.

        LocalDate date = LocalDate.parse("2018-04-10");

        LocalDateTime localDateTime = date.atStartOfDay();

        ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.of("UTC"));

        System.out.println(zonedDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")));

Выход: 2018-04-10T00: 00: 00.000Z

...