Получить целое значение текущего года в Java - PullRequest
260 голосов
/ 26 сентября 2008

Мне нужно определить текущий год в Java как целое число. Я мог бы просто использовать java.util.Date(), но это устарело.

Ответы [ 12 ]

0 голосов
/ 26 сентября 2008

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

return (System.currentTimeMillis()/1000/3600/24/365.25 +1970);

Может быть, на один или два часа в новый год, но у меня нет впечатления, что это проблема?

0 голосов
/ 26 сентября 2008

Я использую специальные функции в моей библиотеке для работы с днями / месяцами / годами -

int[] int_dmy( long timestamp ) // remember month is [0..11] !!!
{
  Calendar cal = new GregorianCalendar(); cal.setTimeInMillis( timestamp );
  return new int[] { 
    cal.get( Calendar.DATE ), cal.get( Calendar.MONTH ), cal.get( Calendar.YEAR )
  };
};


int[] int_dmy( Date d ) { 
 ...
}
...