如何使用时间变量设置日期选择器的值? JavaFX的

时间:2016-09-27 11:00:02

标签: android javafx datepicker javafx-2

我正在使用自定义日期选择器(由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

1 个答案:

答案 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;
    }