org.threeten.extra.YearQuarter类的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中org.threeten.extra.YearQuarter类的一些代码示例,展示了YearQuarter类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YearQuarter类的具体详情如下:
包路径:org.threeten.extra.YearQuarter
类名称:YearQuarter

YearQuarter介绍

[英]A year-quarter in the ISO-8601 calendar system, such as 2007-Q2.

YearQuarter is an immutable date-time object that represents the combination of a year and quarter. Any field that can be derived from a year and quarter can be obtained. A quarter is defined by Quarter and Month#firstMonthOfQuarter() - Q1, Q2, Q3 and Q4. Q1 is January to March, Q2 is April to June, Q3 is July to September and Q4 is October to December.

This class does not store or represent a day, time or time-zone. For example, the value "2nd quarter 2007" can be stored in a YearQuarter.

The ISO-8601 calendar system is the modern civil calendar system used today in most of the world. It is equivalent to the proleptic Gregorian calendar system, in which today's rules for leap years are applied for all time. For most applications written today, the ISO-8601 rules are entirely suitable. However, any application that makes use of historical dates, and requires them to be accurate will find the ISO-8601 approach unsuitable. Note that the ISO-8601 standard does not define or refer to quarters.

Implementation Requirements:

This class is immutable and thread-safe.

This class must be treated as a value type. Do not synchronize, rely on the identity hash code or use the distinction between equals() and ==.
[中]ISO-8601日历系统中的一个季度,例如2007-Q2。
YearQuarter是一个不可变的日期时间对象,表示年和季度的组合。可以获得任何可以从一年和一个季度中导出的字段。季度由季度和月份定义#firstMonthOfQuarter()-Q1、Q2、Q3和Q4。第一季度为1月至3月,第二季度为4月至6月,第三季度为7月至9月,第四季度为10月至12月。
此类不存储或表示日期、时间或时区。例如,值“2007年第二季度”可以存储在YearQuarter中。
ISO-8601日历系统是当今世界大部分地区使用的现代民用日历系统。它相当于公历的前身,即今天的闰年规则一直适用。对于今天编写的大多数应用程序,ISO-8601规则完全适用。然而,任何使用历史日期并要求其准确的应用程序都会发现ISO-8601方法不合适。请注意,ISO-8601标准没有定义或提及宿舍。
####实施要求:
这个类是不可变的,是线程安全的。
必须将此类视为值类型。不要同步、依赖标识哈希代码或使用equals()和==之间的区别。

代码示例

代码示例来源:origin: hibernate/hibernate-demos

public boolean isValid(YearQuarter value, ConstraintValidatorContext context) {
    if ( value == null ) {
      return true;
    }
    return YearQuarter.now().isBefore( value );
  }
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Returns a copy of this year-quarter with the new year and quarter, checking
 * to see if a new object is in fact required.
 *
 * @param newYear  the year to represent, validated from MIN_YEAR to MAX_YEAR
 * @param newQuarter  the quarter-of-year to represent, validated not null
 * @return the year-quarter, not null
 */
private YearQuarter with(int newYear, Quarter newQuarter) {
  if (year == newYear && quarter == newQuarter) {
    return this;
  }
  return new YearQuarter(newYear, newQuarter);
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Is this year-quarter before the specified year-quarter.
 *
 * @param other  the other year-quarter to compare to, not null
 * @return true if this point is before the specified year-quarter
 */
public boolean isBefore(YearQuarter other) {
  return compareTo(other) < 0;
}

代码示例来源:origin: hibernate/hibernate-demos

public boolean isValid(YearQuarter value, ConstraintValidatorContext context) {
    if ( value == null ) {
      return true;
    }
    return YearQuarter.now().isAfter( value );
  }
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Returns a sequential ordered stream of year-quarter. The returned stream starts from this year-quarter
 * (inclusive) and goes to {@code endExclusive} (exclusive) by an incremental step of 1 {@code QUARTER_YEARS}.
 * <p>
 * This instance is immutable and unaffected by this method call.
 * 
 * @param endExclusive  the end year-quarter, exclusive, not null
 * @return a sequential {@code Stream} for the range of {@code YearQuarter} values
 * @throws IllegalArgumentException if end year-quarter is before this year-quarter
 */
public Stream<YearQuarter> quartersUntil(YearQuarter endExclusive) {
  if (endExclusive.isBefore(this)) {
    throw new IllegalArgumentException(endExclusive + " < " + this);
  }
  long intervalLength = until(endExclusive, QUARTER_YEARS);
  return LongStream.range(0,intervalLength).mapToObj(n -> plusQuarters(n));
}

代码示例来源:origin: org.threeten/threeten-extra

public YearQuarter plus(long amountToAdd, TemporalUnit unit) {
  if (unit == QUARTER_YEARS) {
    return plusQuarters(amountToAdd);
  } else if (unit instanceof ChronoUnit) {
    switch ((ChronoUnit) unit) {
      case YEARS:
        return plusYears(amountToAdd);
      case DECADES:
        return plusYears(Math.multiplyExact(amountToAdd, 10));
      case CENTURIES:
        return plusYears(Math.multiplyExact(amountToAdd, 100));
      case MILLENNIA:
        return plusYears(Math.multiplyExact(amountToAdd, 1000));
      case ERAS:
        return with(ERA, Math.addExact(getLong(ERA), amountToAdd));
      default:
        throw new UnsupportedTemporalTypeException("Unsupported unit: " + unit);

代码示例来源:origin: org.threeten/threeten-extra

YearQuarter end = YearQuarter.from(endExclusive);
long quartersUntil = end.getProlepticQuarter() - getProlepticQuarter();  // no overflow
if (unit == QUARTER_YEARS) {
  return quartersUntil;
      return quartersUntil / 4000;
    case ERAS:
      return end.getLong(ERA) - getLong(ERA);
    default:
      throw new UnsupportedTemporalTypeException("Unsupported unit: " + unit);

代码示例来源:origin: org.threeten/threeten-extra

public YearQuarter with(TemporalField field, long newValue) {
  if (field == QUARTER_OF_YEAR) {
    return withQuarter(QUARTER_OF_YEAR.range().checkValidIntValue(newValue, QUARTER_OF_YEAR));
  } else if (field instanceof ChronoField) {
    ChronoField f = (ChronoField) field;
    switch (f) {
      case YEAR_OF_ERA:
        return withYear((int) (year < 1 ? 1 - newValue : newValue));
      case YEAR:
        return withYear((int) newValue);
      case ERA:
        return (getLong(ERA) == newValue ? this : withYear(1 - year));
      default:
        throw new UnsupportedTemporalTypeException("Unsupported field: " + field);

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Obtains the current year-quarter from the system clock in the default time-zone.
 * <p>
 * This will query the {@link java.time.Clock#systemDefaultZone() system clock} in the default
 * time-zone to obtain the current year-quarter.
 * The zone and offset will be set based on the time-zone in the clock.
 * <p>
 * Using this method will prevent the ability to use an alternate clock for testing
 * because the clock is hard-coded.
 *
 * @return the current year-quarter using the system clock and default time-zone, not null
 */
public static YearQuarter now() {
  return now(Clock.systemDefaultZone());
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Returns the length of the year.
 * <p>
 * This returns the length of the year in days, either 365 or 366.
 *
 * @return 366 if the year is leap, 365 otherwise
 */
public int lengthOfYear() {
  return (isLeapYear() ? 366 : 365);
}

代码示例来源:origin: org.threeten/threeten-extra

return (getYear() <= 0 ? ValueRange.of(1, Year.MAX_VALUE + 1) : ValueRange.of(1, Year.MAX_VALUE));

代码示例来源:origin: org.threeten/threeten-extra

throw new DateTimeException("Adjustment only supported on ISO date-time");
long newProlepticQuarter = getProlepticQuarter();
long oldProlepticQuarter = temporal.get(YEAR) * 4L + (temporal.get(QUARTER_OF_YEAR) - 1);
return temporal.plus(newProlepticQuarter - oldProlepticQuarter, QUARTER_YEARS);

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Obtains the current year-quarter from the system clock in the specified time-zone.
 * <p>
 * This will query the {@link Clock#system(java.time.ZoneId) system clock} to obtain the current year-quarter.
 * Specifying the time-zone avoids dependence on the default time-zone.
 * <p>
 * Using this method will prevent the ability to use an alternate clock for testing
 * because the clock is hard-coded.
 *
 * @param zone  the zone ID to use, not null
 * @return the current year-quarter using the system clock, not null
 */
public static YearQuarter now(ZoneId zone) {
  return now(Clock.system(zone));
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Returns the length of the quarter, taking account of the year.
 * <p>
 * This returns the length of the quarter in days.
 *
 * @return the length of the quarter in days, from 90 to 92
 */
public int lengthOfQuarter() {
  return quarter.length(isLeapYear());
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Obtains an instance of {@code YearQuarter} from a year and quarter.
 *
 * @param year  the year to represent, from MIN_YEAR to MAX_YEAR
 * @param quarter  the quarter-of-year to represent, not null
 * @return the year-quarter, not null
 * @throws DateTimeException if the year value is invalid
 */
public static YearQuarter of(int year, Quarter quarter) {
  YEAR.checkValidValue(year);
  Objects.requireNonNull(quarter, "quarter");
  return new YearQuarter(year, quarter);
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Is this year-quarter after the specified year-quarter.
 *
 * @param other  the other year-quarter to compare to, not null
 * @return true if this is after the specified year-quarter
 */
public boolean isAfter(YearQuarter other) {
  return compareTo(other) > 0;
}

代码示例来源:origin: org.threeten/threeten-extra

/**
 * Obtains an instance of {@code YearQuarter} from a year and quarter.
 *
 * @param year  the year to represent, from MIN_YEAR to MAX_YEAR
 * @param quarter  the quarter-of-year to represent, from 1 to 4
 * @return the year-quarter, not null
 * @throws DateTimeException if either field value is invalid
 */
public static YearQuarter of(int year, int quarter) {
  YEAR.checkValidValue(year);
  return new YearQuarter(year, Quarter.of(quarter));
}

相关文章

微信公众号

最新文章

更多

YearQuarter类方法