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