1 16 package org.joda.time.chrono.gj; 17 18 import org.joda.time.DateTimeFieldType; 19 import org.joda.time.DurationField; 20 21 25 class TestGJDayOfYearField extends TestGJDateTimeField { 26 public TestGJDayOfYearField(TestGJChronology chrono) { 27 super(DateTimeFieldType.dayOfYear(), TestGJChronology.MILLIS_PER_DAY, chrono); 28 } 29 30 public int get(long millis) { 31 int year = iChronology.gjYearFromMillis(millis); 32 return (int)(iChronology.fixedFromMillis(millis) 33 - iChronology.fixedFromGJ(year, 1, 1)) + 1; 34 } 35 36 public long set(long millis, int value) { 37 return add(millis, (long) value - get(millis)); 38 } 39 40 public long add(long millis, long value) { 41 return millis + value * TestGJChronology.MILLIS_PER_DAY; 42 } 43 44 public DurationField getRangeDurationField() { 45 return iChronology.years(); 46 } 47 48 public int getMinimumValue() { 49 return 1; 50 } 51 52 public int getMaximumValue() { 53 return 366; 54 } 55 56 public int getMaximumValue(long millis) { 57 return iChronology.year().isLeap(millis) ? 366 : 365; 58 } 59 60 public long roundFloor(long millis) { 61 return iChronology.getDateOnlyMillis(millis); 62 } 63 } 64 | Popular Tags |