Java 8 解析LocalDateTime格式

Java 8 解析LocalDateTime格式,java-8,Java 8,有没有办法将2018-09-17T17:13:13.741解析为2018-09-17:13:13。我试着: LocalDateTime startDateTime = LocalDateTime.now(); DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime.parse(startDateTime, FORMATTER); 通过组合,我要么得到解析异常,

有没有办法将
2018-09-17T17:13:13.741
解析为
2018-09-17:13:13
。我试着:

LocalDateTime startDateTime = LocalDateTime.now();
DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime.parse(startDateTime, FORMATTER);
通过组合,我要么得到解析异常,要么得到
2018-09-17T17:13:13


注意:我不需要使用
T
和毫秒来代替DateTimeFormatter,您可以直接使用LocalDateTime来获取年、月、日、时、分和秒

下面的代码可能适用于您的场景

LocalDateTime startDateTime = LocalDateTime.now();
        int year = startDateTime.getYear();
        int month = startDateTime.getMonthValue();
        int day = startDateTime.getDayOfMonth();

        int hours = startDateTime.getHour();
        int minute = startDateTime.getMinute();
        int seconds = startDateTime.getSecond();
        int nanoSeconds = startDateTime.getNano();

        String date = year +"-"+month+"-"+day+" "+hours+":"+minute+":"+seconds;
        System.out.println(date);
这样使用:

LocalDateTime startDateTime = LocalDateTime.now();
DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
startDateTime.format(FORMATTER);

startDateTime.format(格式化程序)单词用法:“解析”是从字符串转换为
LocalDateTime
。相反的转换称为“格式化”。在我看来,您似乎想使用
格式
方法,而不是
解析
方法。这是一种麻烦的方法,不推荐使用。此外,它还将给出要求使用
9
的月份。