Как распарсить такой формат времени 13.05.15.25? [JAVA]
Как распарсить такой формат времени ? И создать дату
13 - день месяца, 5 - месяц, 15.00 - время = 15:00
Ответы (1 шт):
Автор решения: XelaNimed
→ Ссылка
Вместе с предложением Сергея получается такое решение:
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
import java.time.Year;
import java.time.temporal.ChronoField;
import java.time.format.DateTimeFormatterBuilder;
public class MyClass
{
public static void main(String args[])
{
String strDate = "13.05.15.25";
String srcFormat = "dd.MM.HH.mm";
String trgFormat = "yyyy.MM.dd HH:mm:ss";
DateTimeFormatter srcFormatter = new DateTimeFormatterBuilder()
.parseDefaulting(ChronoField.YEAR, Year.now().getValue())
.appendPattern(srcFormat)
.toFormatter();
DateTimeFormatter trgFormatter = DateTimeFormatter.ofPattern( trgFormat );
LocalDateTime localDateTime = LocalDateTime.parse( strDate , srcFormatter );
System.out.println("strDate = " + strDate);
System.out.println("localDateTime = " + localDateTime);
System.out.println("localDateTime.format(DateTimeFormatter.ISO_DATE_TIME) = " + localDateTime.format(DateTimeFormatter.ISO_DATE_TIME));
System.out.println("localDateTime.format(trgFormatter) = " + localDateTime.format(trgFormatter));
}
}
Ссылки по теме:
Онлайн/интерактивная версия кода
DateTimeFormatter
LocalDateTime