public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
/** Returns the first day of the first week of a year. * Per ISO-8601 it is the Monday of the week that contains Jan 4, * or equivalently, it is a Monday between Dec 29 and Jan 4. * Sometimes it is in the year before the given year. */ private static long firstMondayOfFirstWeek(int year) { final long janFirst = ymdToJulian(year, 1, 1); final long janFirstDow = floorMod(janFirst + 1, 7); // sun=0, sat=6 return janFirst + (11 - janFirstDow) % 7 - 3; }
final long janFirst = ymdToJulian(year, 1, 1); return (int) (julian - janFirst) + 1; case CENTURY:
public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
public static int ymdToUnixDate(int year, int month, int day) { final int julian = ymdToJulian(year, month, day); return julian - EPOCH_JULIAN; }
/** Returns the first day of the first week of a year. * Per ISO-8601 it is the Monday of the week that contains Jan 4, * or equivalently, it is a Monday between Dec 29 and Jan 4. * Sometimes it is in the year before the given year. */ private static long firstMondayOfFirstWeek(int year) { final long janFirst = ymdToJulian(year, 1, 1); final long janFirstDow = floorMod(janFirst + 1, 7); // sun=0, sat=6 return janFirst + (11 - janFirstDow) % 7 - 3; }
/** Returns the first day of the first week of a year. * Per ISO-8601 it is the Monday of the week that contains Jan 4, * or equivalently, it is a Monday between Dec 29 and Jan 4. * Sometimes it is in the year before the given year. */ private static long firstMondayOfFirstWeek(int year) { final long janFirst = ymdToJulian(year, 1, 1); final long janFirstDow = floorMod(janFirst + 1, 7); // sun=0, sat=6 return janFirst + (11 - janFirstDow) % 7 - 3; }
/** Returns the first day of the first week of a year. * Per ISO-8601 it is the Monday of the week that contains Jan 4, * or equivalently, it is a Monday between Dec 29 and Jan 4. * Sometimes it is in the year before the given year. */ private static long firstMondayOfFirstWeek(int year) { final long janFirst = ymdToJulian(year, 1, 1); final long janFirstDow = floorMod(janFirst + 1, 7); // sun=0, sat=6 return janFirst + (11 - janFirstDow) % 7 - 3; }
/** Returns the first day of the first week of a year. * Per ISO-8601 it is the Monday of the week that contains Jan 4, * or equivalently, it is a Monday between Dec 29 and Jan 4. * Sometimes it is in the year before the given year. */ private static long firstMondayOfFirstWeek(int year) { final long janFirst = ymdToJulian(year, 1, 1); final long janFirstDow = floorMod(janFirst + 1, 7); // sun=0, sat=6 return janFirst + (11 - janFirstDow) % 7 - 3; }
@Test public void testYmdToJulian() { // All checked using http://aa.usno.navy.mil/data/docs/JulianDate.php. // We round up - if JulianDate.php gives 2451544.5, we use 2451545. assertThat(ymdToJulian(2014, 4, 3), is(2456751)); // 2000 is a leap year assertThat(ymdToJulian(2000, 1, 1), is(2451545)); assertThat(ymdToJulian(2000, 2, 28), is(2451603)); assertThat(ymdToJulian(2000, 2, 29), is(2451604)); assertThat(ymdToJulian(2000, 3, 1), is(2451605)); assertThat(ymdToJulian(1970, 1, 1), is(2440588)); assertThat(ymdToJulian(1970, 1, 1), is(EPOCH_JULIAN)); assertThat(ymdToJulian(1901, 1, 1), is(2415386)); // 1900 is not a leap year assertThat(ymdToJulian(1900, 10, 17), is(2415310)); assertThat(ymdToJulian(1900, 3, 1), is(2415080)); assertThat(ymdToJulian(1900, 2, 28), is(2415079)); assertThat(ymdToJulian(1900, 2, 1), is(2415052)); assertThat(ymdToJulian(1900, 1, 1), is(2415021)); assertThat(ymdToJulian(1777, 7, 4), is(2370281)); // 2016 is a leap year assertThat(ymdToJulian(2016, 2, 28), is(2457447)); assertThat(ymdToJulian(2016, 2, 29), is(2457448)); assertThat(ymdToJulian(2016, 3, 1), is(2457449)); }
final long janFirst = ymdToJulian(year, 1, 1); return (int) (julian - janFirst) + 1; case CENTURY:
@Test public void testYmdToJulian() { // All checked using http://aa.usno.navy.mil/data/docs/JulianDate.php. // We round up - if JulianDate.php gives 2451544.5, we use 2451545. assertThat(ymdToJulian(2014, 4, 3), is(2456751)); // 2000 is a leap year assertThat(ymdToJulian(2000, 1, 1), is(2451545)); assertThat(ymdToJulian(2000, 2, 28), is(2451603)); assertThat(ymdToJulian(2000, 2, 29), is(2451604)); assertThat(ymdToJulian(2000, 3, 1), is(2451605)); assertThat(ymdToJulian(1970, 1, 1), is(2440588)); assertThat(ymdToJulian(1970, 1, 1), is(EPOCH_JULIAN)); assertThat(ymdToJulian(1901, 1, 1), is(2415386)); // 1900 is not a leap year assertThat(ymdToJulian(1900, 10, 17), is(2415310)); assertThat(ymdToJulian(1900, 3, 1), is(2415080)); assertThat(ymdToJulian(1900, 2, 28), is(2415079)); assertThat(ymdToJulian(1900, 2, 1), is(2415052)); assertThat(ymdToJulian(1900, 1, 1), is(2415021)); assertThat(ymdToJulian(1777, 7, 4), is(2370281)); // 2016 is a leap year assertThat(ymdToJulian(2016, 2, 28), is(2457447)); assertThat(ymdToJulian(2016, 2, 29), is(2457448)); assertThat(ymdToJulian(2016, 3, 1), is(2457449)); }
final long janFirst = ymdToJulian(year, 1, 1); return (int) (julian - janFirst) + 1; case CENTURY:
return getIso8601WeekNumber(julian, year, month, day); case DOY: final long janFirst = ymdToJulian(year, 1, 1); return (int) (julian - janFirst) + 1; case DECADE:
return getIso8601WeekNumber(julian, year, month, day); case DOY: final long janFirst = ymdToJulian(year, 1, 1); return (int) (julian - janFirst) + 1; case DECADE: