在12小时JAVAFX中转换24小时时钟

在12小时JAVAFX中转换24小时时钟,java,javafx,Java,Javafx,我想做一个显示系统时间的模拟时钟。我的代码工作得很好,但我唯一的问题是,我想用12小时的格式显示时间,但它用24小时的格式显示 void setCurrentTime() { Calendar calendar = new GregorianCalendar(); // Set current hour, minute, and second this.hour = calendar.get(Calendar.HOUR_OF_DAY); this.minute = calenda

我想做一个显示系统时间的模拟时钟。我的代码工作得很好,但我唯一的问题是,我想用12小时的格式显示时间,但它用24小时的格式显示

 void setCurrentTime() {
       Calendar calendar = new GregorianCalendar();
// Set current hour, minute, and second
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
this.second = calendar.get(Calendar.SECOND);
paintClock();
}

使用
Calendar.HOUR
代替
Calendar.HOUR


来自Javadocs的:

get和set的字段号,指示上午或下午的时间。小时用于12小时制(0-11)

来自Javadocs的:

get和set的字段号,指示一天中的小时数。24小时时钟使用一天中的小时


假设您在使用JavaFX时也在使用Java8:

让尊敬的
日历
职业退休吧。使用
java.time

LocalTime currTime = LocalTime.now();
this.hour   = currTime.get(ChronoField.HOUR_OF_AMPM);
this.minute = currTime.getMinute();
this.second = currTime.getSecond();

请发布代码抱歉,刚刚编辑了当前时间的post,方法如果可以,请使用Java 8中的,而不是旧的
Calendar
类。新的库在很多方面都更好、更容易使用。感谢您的帮助:)