在12小时JAVAFX中转换24小时时钟
我想做一个显示系统时间的模拟时钟。我的代码工作得很好,但我唯一的问题是,我想用12小时的格式显示时间,但它用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
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
类。新的库在很多方面都更好、更容易使用。感谢您的帮助:)