org.joda.time.DateTimeConstants#MILLIS_PER_WEEK源码实例Demo

下面列出了org.joda.time.DateTimeConstants#MILLIS_PER_WEEK 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: SimFix   文件: 1_BasicChronology.java
/**
     * @param instant millis from 1970-01-01T00:00:00Z
     * @param year precalculated year of millis
     */
    int getWeekOfWeekyear(long instant, int year) {
        long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
// start of generated patch
if(instant<firstWeekMillis1){
return (int)(instant%DateTimeConstants.MILLIS_PER_DAY);
}
// end of generated patch
/* start of original code
        if (instant < firstWeekMillis1) {
            return getWeeksInYear(year - 1);
        }
 end of original code*/
        long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
        if (instant >= firstWeekMillis2) {
            return 1;
        }
        return (int) ((instant - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK) + 1;
    }
 
源代码2 项目: astor   文件: BasicWeekyearDateTimeField.java
public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
    if (minuendInstant < subtrahendInstant) {
        return -getDifference(subtrahendInstant, minuendInstant);
    }

    int minuendWeekyear = get(minuendInstant);
    int subtrahendWeekyear = get(subtrahendInstant);

    long minuendRem = remainder(minuendInstant);
    long subtrahendRem = remainder(subtrahendInstant);

    // Balance leap weekyear differences on remainders.
    if (subtrahendRem >= WEEK_53 && iChronology.getWeeksInYear(minuendWeekyear) <= 52) {
        subtrahendRem -= DateTimeConstants.MILLIS_PER_WEEK;
    }

    int difference = minuendWeekyear - subtrahendWeekyear;
    if (minuendRem < subtrahendRem) {
        difference--;
    }
    return difference;
}
 
源代码3 项目: astor   文件: BasicWeekyearDateTimeField.java
public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
    if (minuendInstant < subtrahendInstant) {
        return -getDifference(subtrahendInstant, minuendInstant);
    }

    int minuendWeekyear = get(minuendInstant);
    int subtrahendWeekyear = get(subtrahendInstant);

    long minuendRem = remainder(minuendInstant);
    long subtrahendRem = remainder(subtrahendInstant);

    // Balance leap weekyear differences on remainders.
    if (subtrahendRem >= WEEK_53 && iChronology.getWeeksInYear(minuendWeekyear) <= 52) {
        subtrahendRem -= DateTimeConstants.MILLIS_PER_WEEK;
    }

    int difference = minuendWeekyear - subtrahendWeekyear;
    if (minuendRem < subtrahendRem) {
        difference--;
    }
    return difference;
}
 
源代码4 项目: coming   文件: Nopol2017_0088_s.java
/**
 * @param instant millis from 1970-01-01T00:00:00Z
 * @param year precalculated year of millis
 */
int getWeekOfWeekyear(long instant, int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    if (instant < firstWeekMillis1) {
        return getWeeksInYear(year - 1);
    }
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    if (instant >= firstWeekMillis2) {
        return 1;
    }
    return (int) ((instant - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK) + 1;
}
 
源代码5 项目: coming   文件: Nopol2017_0088_t.java
/**
 * @param instant millis from 1970-01-01T00:00:00Z
 * @param year precalculated year of millis
 */
int getWeekOfWeekyear(long instant, int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    if (instant < firstWeekMillis1) {
        return getWeeksInYear(year - 1);
    }
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    if (instant >= firstWeekMillis2) {
        return 1;
    }
    return (int) ((instant - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK) + 1;
}
 
源代码6 项目: astor   文件: BasicWeekyearDateTimeField.java
public long roundFloor(long instant) {
    // Note: This works fine, but it ideally shouldn't invoke other
    // fields from within a field.
    instant = iChronology.weekOfWeekyear().roundFloor(instant);
    int wow = iChronology.getWeekOfWeekyear(instant);
    if (wow > 1) {
        instant -= ((long) DateTimeConstants.MILLIS_PER_WEEK) * (wow - 1);
    }
    return instant;
}
 
源代码7 项目: astor   文件: BasicChronology.java
/**
 * @param instant millis from 1970-01-01T00:00:00Z
 * @param year precalculated year of millis
 */
int getWeekOfWeekyear(long instant, int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    if (instant < firstWeekMillis1) {
        return getWeeksInYear(year - 1);
    }
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    if (instant >= firstWeekMillis2) {
        return 1;
    }
    return (int) ((instant - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK) + 1;
}
 
源代码8 项目: astor   文件: BasicWeekyearDateTimeField.java
public long roundFloor(long instant) {
    // Note: This works fine, but it ideally shouldn't invoke other
    // fields from within a field.
    instant = iChronology.weekOfWeekyear().roundFloor(instant);
    int wow = iChronology.getWeekOfWeekyear(instant);
    if (wow > 1) {
        instant -= ((long) DateTimeConstants.MILLIS_PER_WEEK) * (wow - 1);
    }
    return instant;
}
 
源代码9 项目: astor   文件: BasicChronology.java
/**
 * @param instant millis from 1970-01-01T00:00:00Z
 * @param year precalculated year of millis
 */
int getWeekOfWeekyear(long instant, int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    if (instant < firstWeekMillis1) {
        return getWeeksInYear(year - 1);
    }
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    if (instant >= firstWeekMillis2) {
        return 1;
    }
    return (int) ((instant - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK) + 1;
}
 
源代码10 项目: astor   文件: BasicWeekyearDateTimeField.java
/**
 * Set the Year of a week based year component of the specified time instant.
 *
 * @see org.joda.time.DateTimeField#set
 * @param instant  the time instant in millis to update.
 * @param year  the year (-9999,9999) to set the date to.
 * @return the updated DateTime.
 * @throws IllegalArgumentException  if year is invalid.
 */
public long set(long instant, int year) {
    FieldUtils.verifyValueBounds(this, Math.abs(year),
                                 iChronology.getMinYear(), iChronology.getMaxYear());
    //
    // Do nothing if no real change is requested.
    //
    int thisWeekyear = get( instant );
    if ( thisWeekyear == year ) {
        return instant;
    }
    //
    // Calculate the DayOfWeek (to be preserved).
    //
    int thisDow = iChronology.getDayOfWeek(instant);
    //
    // Calculate the maximum weeks in the target year.
    //
    int weeksInFromYear = iChronology.getWeeksInYear( thisWeekyear );
    int weeksInToYear = iChronology.getWeeksInYear( year );
    int maxOutWeeks = (weeksInToYear < weeksInFromYear) ?
        weeksInToYear : weeksInFromYear;
    //
    // Get the current week of the year. This will be preserved in
    // the output unless it is greater than the maximum possible
    // for the target weekyear.  In that case it is adjusted
    // to the maximum possible.
    //
    int setToWeek = iChronology.getWeekOfWeekyear(instant);
    if ( setToWeek > maxOutWeeks ) {
        setToWeek = maxOutWeeks;
    }
    //
    // Get a wroking copy of the current date-time.
    // This can be a convenience for debugging.
    //
    long workInstant = instant; // Get a copy
    //
    // Attempt to get close to the proper weekyear.
    // Note - we cannot currently call ourself, so we just call
    // set for the year.  This at least gets us close.
    //
    workInstant = iChronology.setYear( workInstant, year );
    //
    // Calculate the weekyear number for the get close to value
    // (which might not be equal to the year just set).
    //
    int workWoyYear = get( workInstant );

    //
    // At most we are off by one year, which can be "fixed" by
    // adding/subtracting a week.
    //
    if ( workWoyYear < year ) {
        workInstant += DateTimeConstants.MILLIS_PER_WEEK;
    } else if ( workWoyYear > year ) {
        workInstant -= DateTimeConstants.MILLIS_PER_WEEK;
    }
    //
    // Set the proper week in the current weekyear.
    //

    // BEGIN: possible set WeekOfWeekyear logic.
    int currentWoyWeek = iChronology.getWeekOfWeekyear(workInstant);
    // No range check required (we already know it is OK).
    workInstant = workInstant + (setToWeek - currentWoyWeek)
        * (long)DateTimeConstants.MILLIS_PER_WEEK;
    // END: possible set WeekOfWeekyear logic.

    //
    // Reset DayOfWeek to previous value.
    //
    // Note: This works fine, but it ideally shouldn't invoke other
    // fields from within a field.
    workInstant = iChronology.dayOfWeek().set( workInstant, thisDow );
    //
    // Return result.
    //
    return workInstant;
}
 
源代码11 项目: astor   文件: BasicWeekyearDateTimeField.java
/**
 * Set the Year of a week based year component of the specified time instant.
 *
 * @see org.joda.time.DateTimeField#set
 * @param instant  the time instant in millis to update.
 * @param year  the year (-9999,9999) to set the date to.
 * @return the updated DateTime.
 * @throws IllegalArgumentException  if year is invalid.
 */
public long set(long instant, int year) {
    FieldUtils.verifyValueBounds(this, Math.abs(year),
                                 iChronology.getMinYear(), iChronology.getMaxYear());
    //
    // Do nothing if no real change is requested.
    //
    int thisWeekyear = get( instant );
    if ( thisWeekyear == year ) {
        return instant;
    }
    //
    // Calculate the DayOfWeek (to be preserved).
    //
    int thisDow = iChronology.getDayOfWeek(instant);
    //
    // Calculate the maximum weeks in the target year.
    //
    int weeksInFromYear = iChronology.getWeeksInYear( thisWeekyear );
    int weeksInToYear = iChronology.getWeeksInYear( year );
    int maxOutWeeks = (weeksInToYear < weeksInFromYear) ?
        weeksInToYear : weeksInFromYear;
    //
    // Get the current week of the year. This will be preserved in
    // the output unless it is greater than the maximum possible
    // for the target weekyear.  In that case it is adjusted
    // to the maximum possible.
    //
    int setToWeek = iChronology.getWeekOfWeekyear(instant);
    if ( setToWeek > maxOutWeeks ) {
        setToWeek = maxOutWeeks;
    }
    //
    // Get a wroking copy of the current date-time.
    // This can be a convenience for debugging.
    //
    long workInstant = instant; // Get a copy
    //
    // Attempt to get close to the proper weekyear.
    // Note - we cannot currently call ourself, so we just call
    // set for the year.  This at least gets us close.
    //
    workInstant = iChronology.setYear( workInstant, year );
    //
    // Calculate the weekyear number for the get close to value
    // (which might not be equal to the year just set).
    //
    int workWoyYear = get( workInstant );

    //
    // At most we are off by one year, which can be "fixed" by
    // adding/subtracting a week.
    //
    if ( workWoyYear < year ) {
        workInstant += DateTimeConstants.MILLIS_PER_WEEK;
    } else if ( workWoyYear > year ) {
        workInstant -= DateTimeConstants.MILLIS_PER_WEEK;
    }
    //
    // Set the proper week in the current weekyear.
    //

    // BEGIN: possible set WeekOfWeekyear logic.
    int currentWoyWeek = iChronology.getWeekOfWeekyear(workInstant);
    // No range check required (we already know it is OK).
    workInstant = workInstant + (setToWeek - currentWoyWeek)
        * (long)DateTimeConstants.MILLIS_PER_WEEK;
    // END: possible set WeekOfWeekyear logic.

    //
    // Reset DayOfWeek to previous value.
    //
    // Note: This works fine, but it ideally shouldn't invoke other
    // fields from within a field.
    workInstant = iChronology.dayOfWeek().set( workInstant, thisDow );
    //
    // Return result.
    //
    return workInstant;
}
 
源代码12 项目: SimFix   文件: 1_BasicChronology.java
/**
 * Get the number of weeks in the year.
 *
 * @param year  the year to use
 * @return number of weeks in the year
 */
int getWeeksInYear(int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    return (int) ((firstWeekMillis2 - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK);
}
 
源代码13 项目: coming   文件: Nopol2017_0088_s.java
/**
 * Get the number of weeks in the year.
 *
 * @param year  the year to use
 * @return number of weeks in the year
 */
int getWeeksInYear(int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    return (int) ((firstWeekMillis2 - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK);
}
 
源代码14 项目: coming   文件: Nopol2017_0088_t.java
/**
 * Get the number of weeks in the year.
 *
 * @param year  the year to use
 * @return number of weeks in the year
 */
int getWeeksInYear(int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    return (int) ((firstWeekMillis2 - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK);
}
 
源代码15 项目: astor   文件: BasicChronology.java
/**
 * Get the number of weeks in the year.
 *
 * @param year  the year to use
 * @return number of weeks in the year
 */
int getWeeksInYear(int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    return (int) ((firstWeekMillis2 - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK);
}
 
源代码16 项目: astor   文件: BasicChronology.java
/**
 * Get the number of weeks in the year.
 *
 * @param year  the year to use
 * @return number of weeks in the year
 */
int getWeeksInYear(int year) {
    long firstWeekMillis1 = getFirstWeekOfYearMillis(year);
    long firstWeekMillis2 = getFirstWeekOfYearMillis(year + 1);
    return (int) ((firstWeekMillis2 - firstWeekMillis1) / DateTimeConstants.MILLIS_PER_WEEK);
}