는 나는 아무 소용에 다음을 시도했다 : 내가 원하는JodaTime을 사용하여 1 년 동안의 일 수를 얻으려면 어떻게해야합니까?
new Period(Years.ONE).getDays();
new Period(1, 0, 0, 000).getDays();
대답은 분명 365
는 나는 아무 소용에 다음을 시도했다 : 내가 원하는JodaTime을 사용하여 1 년 동안의 일 수를 얻으려면 어떻게해야합니까?
new Period(Years.ONE).getDays();
new Period(1, 0, 0, 000).getDays();
대답은 분명 365
주어진 년 일의 실수하려면 : 물론
int year = 2012;
LocalDate ld = new LocalDate(year,1,1);
System.out.println(Days.daysBetween(ld,ld.plusYears(1)).getDays());
,이 (366) 365 반환 또는 ... 보통 :.
int year = 1582;
LocalDate ld = new LocalDate(year,1,1,GJChronology.getInstance());
System.out.println(Days.daysBetween(ld,ld.plusYears(1)).getDays());
// year 1582 had 355 days
당신이 원하는 대답은 분명 365
없습니다. 365
또는 366
일 경우, 예를 들어 윤년을 고려하지 않습니다.
윤년을 감지하고 삼중 구문으로 하드 코딩하는 것은 어떤 이유로 용납 될 수 없습니까?
final DateTime dt = new DateTime();
final int daysInYear = dt.year().isLeap() ? 366 : 365;
은 물론이 당신에게 현재 연도의 일 수를 줄 것이다, 다른 해에 일의 수를 얻는 방법 사소한 독자를위한 운동.
새로운 날짜 시간을() 년() .toInterval(). toDuration(). getStandardDays();
java.time.Year.of(2017).length()
Joda-Time 프로젝트에서 현재 maintenance mode는 java.time 클래스 이주를 권장합니다.
java.time.Year
클래스는 특정 연도를 나타낼 수 있습니다.
Year year = Year.of(2017);
당신은 일의 수의 길이 또는 그것 Leap Year 여부 그 해에 대한 정보를 심문 할 수있다. java.time
소개
int countDaysInYear = year.length() ;
boolean isLeapYear = year.isLeap() ; // ISO proleptic calendar system rules.
java.util.Date
, Calendar
, & SimpleDateFormat
과 같이 문제가있는 이전 legacy 날짜 - 시간 클래스를 대체합니다. maintenance mode에있는 Joda-Time 프로젝트는 java.time 클래스로의 마이그레이션을 권장합니다.
자세히 알아 보려면 Oracle Tutorial을 참조하십시오. 그리고 많은 예제와 설명을 위해 스택 오버플로를 검색하십시오. 사양은 JSR 310입니다.
어디에서 java.time 클래스를 얻을 수 있습니까?
ThreeTen-Extra 프로젝트는 추가 클래스와 java.time를 확장합니다. 이 프로젝트는 향후 java.time에 추가 될 수있는 가능성을 입증합니다. 여기에 Interval
, YearWeek
, YearQuarter
및 more과 같은 유용한 클래스가 있습니다.
이렇게하면됩니다 :'(new LocalDate (year, 12, 31)). getDayOfYear();' – jpstrube