MCPcopy Create free account
hub / github.com/MenoData/Time4J / ofYearDay

Method ofYearDay

base/src/main/java/net/time4j/PlainDate.java:2243–2271  ·  view source on GitHub ↗
(
        int year,
        int dayOfYear,
        Weekday weekday
    )

Source from the content-addressed store, hash-verified

2241 }
2242
2243 private static PlainDate ofYearDay(
2244 int year,
2245 int dayOfYear,
2246 Weekday weekday
2247 ) {
2248
2249 if (dayOfYear < 1) {
2250 throw new IllegalArgumentException(
2251 "Day of year out of range: " + dayOfYear);
2252 } else if (dayOfYear <= 31) {
2253 return PlainDate.of(year, 1, dayOfYear);
2254 }
2255
2256 int[] table = (
2257 GregorianMath.isLeapYear(year)
2258 ? DAY_OF_LEAP_YEAR_PER_MONTH
2259 : DAY_OF_YEAR_PER_MONTH);
2260
2261 for (int i = (dayOfYear > table[6] ? 7 : 1); i < 12; i++) {
2262 if (dayOfYear <= table[i]) {
2263 int dom = dayOfYear - table[i - 1];
2264 return PlainDate.create(year, i + 1, dom, weekday, false);
2265 }
2266 }
2267
2268 throw new IllegalArgumentException(
2269 "Day of year out of range: " + dayOfYear);
2270
2271 }
2272
2273 private static PlainDate create(
2274 int year,

Callers 3

ofMethod · 0.95
addDaysMethod · 0.95
ofWeekdateMethod · 0.95

Calls 3

ofMethod · 0.95
isLeapYearMethod · 0.95
createMethod · 0.95

Tested by

no test coverage detected