我正在使用自定义日期选择器(由JFeonix制作,允许您选择时间,与Android应用程序中显示的时间相同,例如Google日历)。
类似于如何使用带有DateTimeFormatter的LocaleDate将值设置为日期选择器,我试图为这个时间选择器实现相同的功能,除了我的代码似乎不起作用。
这是我用来设置datePickers值的方法:
String dateWord = "2016-08-17";
createConsultationController.datePicker.setValue(localDate(dateWord));
public static final LocalDate localDate (String dateString){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(dateString, formatter);
return localDate;
}
这就是我试图设置“时间日期选择器”,但没有运气:
String startTime = "11:00";
createConsultationController.startTime.setValue(localeTime(startTime));
public static final LocalDate localeTime (String timeString) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm");
LocalDate localTime = LocalDate.parse(timeString, formatter);
return localTime;
}
堆栈跟踪的第一行说:
Exception in thread "JavaFX Application Thread" java.time.format.DateTimeParseException: Text '11:00' could not be parsed: Unable to obtain LocalDate from TemporalAccessor: {MinuteOfHour=0, HourOfAmPm=11},ISO of type java.time.format.Parsed
答案 0 :(得分:0)
似乎我正在使用时间选择器的错误类和方法来设置时间,这要归功于24小时格式化程序中的提示:
String startTime = "11:00";
createConsultationController.startTime.setTime(localeTime(startTime));
public static final LocalTime localeTime (String timeString) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime localTime = LocalTime.parse(timeString, formatter);
return localTime;
}