-1

我在我的项目中使用JFXtras库,当我从LocalDateTimeTextField获取值时,它看起来像这样 1 juin 2017 01:00:00

我的问题是当我想为它设置值时。我尝试了很多方法但没有奏效

String date="1 juin 2017 17:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d MMM yyyy hh:mm:ss");
LocalDateTime localDate = LocalDateTime.parse(date, formatter);
fieldDate.setDisplayedLocalDateTime(localDate);

我调试我的 broject 并在这一行中给我错误

 LocalDateTime localDate = LocalDateTime.parse(date, formatter);
4

1 回答 1

0

这与 JavaFX 或 JFXtras 无关。您的问题在于将字符串解析为 LocalDateTime,这是一个标准的 Java 8 类。 https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

无论 LocalDateTime 的默认格式如何,您仍然需要定义一个匹配的模式。例如,“MMM”需要三个字母的月份,而不是四个字母的一。 https://docs.oracle.com/javase/tutorial/datetime/iso/format.html

尝试添加一个 M 并将 hh 替换为 HH: DateTimeFormatter.ofPattern("d MMMM yyyy HH:mm:ss").parse("1 April 2017 17:00:00")

于 2017-05-08T18:52:44.267 回答