/** * Returns the day of this date. * @return the day (1-31) */ public int getDay() { int year = getYear(); int dayInYear = elapsedDays - DateUtil.getDayFromYear(year); return DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); }
/** * Converts the number of elapsed days from {@code 0001/01/01 (YYYY/MM/DD)} to the corresponded date, * and set it to the target calendar object. * Note that, the hour, minute, second and millisecond fields will be set to {@code 0}. * @param days the number of elapsed days from {@code 0001/01/01 (YYYY/MM/DD)} * @param calendar the target calendar object * @since 0.2.2 */ public static void setDayToCalendar(int days, Calendar calendar) { int year = getYearFromDay(days); int daysInYear = days - getDayFromYear(year); boolean leap = isLeap(year); int month = getMonthOfYear(daysInYear, leap); int day = getDayOfMonth(daysInYear, leap); calendar.set(year, month - 1, day, 0, 0, 0); calendar.set(Calendar.MILLISECOND, 0); }
/** * Returns the day of this date and time. * @return the day (1-31) */ public int getDay() { int year = getYear(); int days = DateUtil.getDayFromSeconds(elapsedSeconds); int dayInYear = days - DateUtil.getDayFromYear(year); return DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); }
private void emitDate(int days) { int year = DateUtil.getYearFromDay(days); int daysInYear = days - DateUtil.getDayFromYear(year); boolean leap = DateUtil.isLeap(year); int month = DateUtil.getMonthOfYear(daysInYear, leap); int day = DateUtil.getDayOfMonth(daysInYear, leap); fill('0', YEAR_FIELD_LENGTH, year); lineBuffer.append(DATE_FIELD_SEPARATOR); fill('0', MONTH_FIELD_LENGTH, month); lineBuffer.append(DATE_FIELD_SEPARATOR); fill('0', DATE_FIELD_LENGTH, day); }
private static void appendDateString(StringBuilder buf, int days, char separator) { int year = DateUtil.getYearFromDay(days); boolean leap = DateUtil.isLeap(year); int dayInYear = days - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, leap); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); fill(buf, 4, year); buf.append(separator); fill(buf, 2, month); buf.append(separator); fill(buf, 2, day); }
/** * Converts the number of elapsed seconds from {@code 0001/01/01 (YYYY/MM/DD) 00:00:00} to the corresponded date, * and set it to the target calendar object. * Note that, the millisecond fields will be set to {@code 0}. * @param seconds the number of elapsed seconds * @param calendar the target calendar object * @since 0.2.2 */ public static void setSecondToCalendar(long seconds, Calendar calendar) { int days = getDayFromSeconds(seconds); int year = getYearFromDay(days); int daysInYear = days - getDayFromYear(year); boolean leap = isLeap(year); int month = getMonthOfYear(daysInYear, leap); int day = getDayOfMonth(daysInYear, leap); int rest = getSecondOfDay(seconds); int hour = rest / (60 * 60); int minute = rest / 60 % 60; int second = rest % 60; calendar.set(year, month - 1, day, hour, minute, second); calendar.set(Calendar.MILLISECOND, 0); }
@Override void emit(int elapsedDate, StringBuilder output) { int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); append(output, year, 4); append(output, month, 2); append(output, day, 2); } }
@Override void emit(int elapsedDate, StringBuilder output) { int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); append(output, year, 4); append(output, month, 2); append(output, day, 2); } }
@Override CharSequence format(int elapsedDate) { int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); putStringValue(buffer, year, POS_YEAR, 4); putStringValue(buffer, month, POS_MONTH, 2); putStringValue(buffer, day, POS_DAY, 2); return buffer; }
@Override CharSequence format(long elapsedSeconds) { int elapsedDate = DateUtil.getDayFromSeconds(elapsedSeconds); int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); int secondOfDay = DateUtil.getSecondOfDay(elapsedSeconds); int hour = secondOfDay / (60 * 60); int minute = secondOfDay / 60 % 60; int second = secondOfDay % 60; putStringValue(buffer, year, POS_YEAR, 4); putStringValue(buffer, month, POS_MONTH, 2); putStringValue(buffer, day, POS_DAY, 2); putStringValue(buffer, hour, POS_HOUR, 2); putStringValue(buffer, minute, POS_MINUTE, 2); putStringValue(buffer, second, POS_SECOND, 2); return buffer; }
@Override void emit(long elapsedSeconds, StringBuilder output) { int elapsedDate = DateUtil.getDayFromSeconds(elapsedSeconds); int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); int secondOfDay = DateUtil.getSecondOfDay(elapsedSeconds); int hour = secondOfDay / (60 * 60); int minute = secondOfDay / 60 % 60; int second = secondOfDay % 60; append(output, year, 4); append(output, month, 2); append(output, day, 2); append(output, hour, 2); append(output, minute, 2); append(output, second, 2); } }
@Override void emit(long elapsedSeconds, StringBuilder output) { int elapsedDate = DateUtil.getDayFromSeconds(elapsedSeconds); int year = DateUtil.getYearFromDay(elapsedDate); int dayInYear = elapsedDate - DateUtil.getDayFromYear(year); int month = DateUtil.getMonthOfYear(dayInYear, DateUtil.isLeap(year)); int day = DateUtil.getDayOfMonth(dayInYear, DateUtil.isLeap(year)); int secondOfDay = DateUtil.getSecondOfDay(elapsedSeconds); int hour = secondOfDay / (60 * 60); int minute = secondOfDay / 60 % 60; int second = secondOfDay % 60; append(output, year, 4); append(output, month, 2); append(output, day, 2); append(output, hour, 2); append(output, minute, 2); append(output, second, 2); } }