Как вы получаете часы и минуты, так как Date.getHours
и Date.getMinutes
устарели? В примерах, которые я нашел в поиске Google, использовались устаревшие методы.
Java: getMinutes и getHours
Ответ 1
Попробуйте использовать Joda Time вместо стандартных классов java.util.Date. Библиотека Joda Time имеет гораздо лучший API для обработки дат.
DateTime dt = new DateTime(); // current time
int month = dt.getMonth(); // gets the current month
int hours = dt.getHourOfDay(); // gets hour of day
Смотрите question за все преимущества и недостатки использования библиотеки времени Joda.
Время Joda также может быть включено в некоторую будущую версию Java в качестве стандартного компонента, см. JSR-310.
Если вы должны использовать традиционные классы java.util.Date и java.util.Calendar, обратитесь к их справки по JavaDoc (java.util.Calendar и java.util.Date).
Вы можете использовать традиционные классы, подобные этому, для получения полей из данного экземпляра даты.
Date date = new Date(); // given date
Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
calendar.setTime(date); // assigns calendar to given date
calendar.get(Calendar.HOUR_OF_DAY); // gets hour in 24h format
calendar.get(Calendar.HOUR); // gets hour in 12h format
calendar.get(Calendar.MONTH); // gets month number, NOTE this is zero based!
Ответ 2
Из Javadoc для Date.getHours
As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY)
Поэтому используйте
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
и эквивалент для getMinutes.
Ответ 3
Сначала импортируйте java.util.Calendar
Calendar now = Calendar.getInstance();
System.out.println(now.get(Calendar.HOUR_OF_DAY) + ":" + now.get(Calendar.MINUTE));
Ответ 4
java.time
Пока я фанат Joda-Time, Java 8 представляет java.time, который, наконец, является достойным стандартным решением Java! Прочитайте эту статью Java SE 8 Date and Time, за хорошую информацию о java.time вне часов и минут.
В частности, посмотрите класс LocalDateTime
.
Часы и минуты:
LocalDateTime.now().getHour();
LocalDateTime.now().getMinute();
Ответ 5
Попробуйте календаря. Используйте getInstance для получения объекта Calender. Затем используйте setTime для установки нужной даты. Теперь вы можете использовать get (int field) с соответствующей константой, например HOUR_OF_DAY, чтобы прочитать нужные значения.
http://java.sun.com/javase/6/docs/api/java/util/Calendar.html
Ответ 6
Я бы порекомендовал посмотреть время ad adoda. http://www.joda.org/joda-time/
Я боялся добавить еще одну библиотеку в свой толстый проект, но это было просто и быстро, и умно, и потрясающе. Кроме того, в какой-то степени он отлично работает с существующим кодом.
Ответ 7
Хотя я бы не рекомендовал это делать, я считаю, что стоит отметить, что, хотя многие методы java.util.Date устарели, они все еще работают. В тривиальных ситуациях, возможно, их можно использовать. Кроме того, java.util.Calendar довольно медленный, поэтому getMonth и getYear в Date могут быть полезными быстрее.
Ответ 8
import java.util.*
Вы можете быстро и быстро использовать календарь и класс форматирования. Calendar cal = Calendar.getInstance()
и Formatter fmt=new Formatter()
и установите формат отображения часов и минут fmt.format("%tl:%M",cal,cal)
, а вывод System.out.println(fmt)
отображается как 10:12
Ответ 9
int hr=Time.valueOf(LocalTime.now()).getHours();
int minutes=Time.valueOf(LocalTime.now()).getMinutes();
Эти функции возвращают значения int в часах и минутах.
Ответ 10
public static LocalTime time() {
LocalTime ldt = java.time.LocalTime.now();
ldt = ldt.truncatedTo(ChronoUnit.MINUTES);
System.out.println(ldt);
return ldt;
}
Это работает для меня