Как отформатировать данные типа DATETIME из «2018-12-14T14: 16: 58.037967» в «2018-12-14 14: 16: 58.037967» с помощью Groovy? - PullRequest
0 голосов
/ 20 мая 2019

Как отформатировать DATETIME введите данные из 2018-12-14 14:16:58.037967 в 2018-12-14T14:16:58.037967 с помощью Groovy?

Программа:

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

def DB_formattime = LocalDateTime.parse("2019-05-18 20:54:04.638314", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.n"))

print DB_formattime

Ошибка:

Caught: java.time.format.DateTimeParseException: Text '2019-05-18 20:54:04.638314' could not be parsed at index 10
java.time.format.DateTimeParseException: Text '2019-05-18 20:54:04.638314' could not be parsed at index 10
    at java_time_LocalDateTime$parse.call(Unknown Source)
    at test.run(test.groovy:4)

Process finished with exit code 1

1 Ответ

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

ihmo самый простой способ здесь просто заменить пробел символом 'T' ...

"2018-12-14 14:16:58.037967".tr(' ','T')

однако, если вы хотите проанализировать и отформатировать дату:

import java.time.LocalDateTime 
import java.time.format.DateTimeFormatter

def DB_formattime = LocalDateTime.parse("2019-05-18 20:54:04.638314", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.n"))
DB_formattime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.n"))
...