2016-01-21 3 views

ответ

2

Java. время

Java 8 и более поздние версии представлены с каркасом java.time. См. Tutorial.

Я ожидаю, что вы хотите, чтобы год был в текущем году, так как каждые 4 года у вас будет 1 смена с 29 февраля.

LocalDate today = LocalDate.now(); 
LocalDate date = LocalDate.ofYearDay(today.getYear(), 227); 
System.out.println("today: " + today + " date: " + date); 

сегодня: 2016-01-22 Дата: 2016-08-14

+1

Хороший ответ. Я бы предложил передать часовой пояс ('ZoneId') методу' now() '. Если не указано, текущий часовой пояс JVM применяется при определении сегодняшней даты. Это значение по умолчанию может [изменить в любой момент] (http://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#setDefault-java.util.TimeZone-) даже во время выполнения. Лучше явно указывать желаемый/ожидаемый часовой пояс (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Часовой пояс необходим, потому что дата не одинакова во всем мире в любой момент, с новым днем, начавшимся раньше на востоке. –