Я взглянул на java api о GregorianCalendar и не нашел способа установить am / pm в его конструкторе. Можете ли вы установить AM / PM в дате GregorianCalendar или это то, что вы можете получить только с помощью метода get в календаре. Обрабатывает ли он все это автоматически. Я хочу взять am / pm и вывести его в моем toString для класса, который имеет объект даты. Я собирался использовать метод get в календаре, чтобы добиться этого. Я понимаю, что am / pm - это целое число, равное 0 или 1.
Все ли часы в 24-часовом формате в григорианском формате, и определяет ли он автоматически утро и вечер?
3 ответа
Calendar.get(Calendar.HOUR);
Указывает час (0–12) для формата AM / PM.
Calendar.get(Calendar.HOUR_OF_DAY);
Указывает час в диапазоне от 0 до 24.
Он выполняет преобразование самостоятельно. Вам не нужно об этом рассказывать.
cal.set( Calendar.AM_PM, Calendar.AM )
Будет / Может ли изменить точку времени, которую представляет этот объект календаря. (Если сейчас 13:00, у вас будет 1:00 после этого). Это верно для GregorianCalendar
(см. Комментарий к вопросу Питера Цетински).
Кстати / Подсказка, мне следует использовать DateFormat
для вывода вашего предпочтительного формата.
Calendar cal = new GreogorianCalendar();
cal.set( Calendar.AM_PM, Calendar.AM );
Просто сделал вот что:
Calendar calendar = new GregorianCalendar();
int seconds = calendar.get(Calendar.SECOND);
int minutes = calendar.get(Calendar.MINUTE);
int hour = calendar.get(Calendar.HOUR);
int am_pm = calendar.get(Calendar.AM_PM);
String ampm = "ampm";
if (am_pm == 0) {
ampm = "AM";
} else {
ampm = "PM";
}
jLabel1.setText(hour + ":" + minutes + ":" + seconds + " " + ampm);
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].