2013-12-10 4 views
0

У меня есть следующий код в groovy, чтобы получить текущее время в часах.получение текущего времени в groovy/java

def now = new Date() 
    def time = now.getHours() 

но метод getHour() устарел. Каковы недостатки, если я использую этот метод и что является альтернативой этому методу в groovy/Java?

+1

Это говорит вам, что использовать [в документации] (http://docs.oracle.com/javase/7/docs/api/java/util/Date.html#getHours%28%29) –

+1

Возможный дубликат [Java: getMinutes и getHours] (http://stackoverflow.com/questions/907170/java-getminutes-and-gethours) –

+0

Также http://stackoverflow.com/questions/8150155/java-gethours- getminutes-and-getseconds и http://stackoverflow.com/questions/13343524/the-correct-way-to-set-and-get-hour-minutes-sec –

ответ

9

Использование Calendar,

Calendar cal=Calendar.getInstance();//it return same time as new Date() 
    def hour = cal.get(Calendar.HOUR_OF_DAY) 

Подробности читайте эту docs.

-4

Вы можете использовать Joda время для получения текущего времени или getHours

10

Попробуйте использовать 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 

Вы можете использовать традиционные классы, подобные этому, для получения полей из данного экземпляра даты.

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! 
Смежные вопросы