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

Method getWeekOfYear

base/src/main/java/net/time4j/YOWElement.java:203–227  ·  view source on GitHub ↗
(PlainDate date)

Source from the content-addressed store, hash-verified

201
202 // Optimierung als Ersatz für date.getWeekOfYear()
203 private static int getWeekOfYear(PlainDate date) {
204
205 int dayOfYear = date.getDayOfYear();
206 int wCurrent = getFirstCalendarWeekAsDayOfYear(date, 0);
207
208 if (wCurrent <= dayOfYear) {
209 int result = ((dayOfYear - wCurrent) / 7) + 1;
210
211 if (result >= 53) { // Optimierung
212 int wNext =
213 getFirstCalendarWeekAsDayOfYear(date, 1)
214 + getLengthOfYear(date, 0);
215 if (wNext <= dayOfYear) {
216 result = 1;
217 }
218 }
219
220 return result;
221 } else {
222 int wPrevious = getFirstCalendarWeekAsDayOfYear(date, -1);
223 int dayCurrent = dayOfYear + getLengthOfYear(date, -1);
224 return ((dayCurrent - wPrevious) / 7) + 1;
225 }
226
227 }
228
229 private Object readResolve() throws ObjectStreamException {
230

Callers 2

betweenMethod · 0.45
setYearOfWeekdateMethod · 0.45

Calls 3

getLengthOfYearMethod · 0.95
getDayOfYearMethod · 0.45

Tested by

no test coverage detected