如何将Value设置为LocalDateTimeTextField?

时间:2017-05-08 17:19:13

标签: java jfxtras

我在我的项目中使用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);

我调试我的项目并在此行中给出错误

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

1 个答案:

答案 0 :(得分: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")。解析(" 2017年4月1日17:00:00")