下面列出了java.time.temporal.ChronoUnit#HALF_DAYS 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
public static int truncatedTo(TemporalUnit unit, int packedTime) {
if (unit == ChronoUnit.NANOS || unit == ChronoUnit.MILLIS) {
return packedTime;
}
Duration unitDur = unit.getDuration();
if (unitDur.getSeconds() > SECONDS_PER_DAY) {
throw new UnsupportedTemporalTypeException("Unit is too large to be used for truncation");
}
int hour = PackedLocalTime.getHour(packedTime);
int minute = PackedLocalTime.getMinute(packedTime);
int second = PackedLocalTime.getSecond(packedTime);
int milli = 0;
if (unit == ChronoUnit.DAYS) {
hour = 0;
minute = 0;
second = 0;
} else if (unit == ChronoUnit.HALF_DAYS) {
if (hour >= 12) {
hour = 12;
} else {
hour = 0;
}
minute = 0;
second = 0;
} else if (unit == ChronoUnit.HOURS) {
minute = 0;
second = 0;
} else if (unit == ChronoUnit.MINUTES) {
second = 0;
}
return PackedLocalTime.create(hour, minute, second, milli);
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@DataProvider(name="BadTemporalUnit")
Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
public static int truncatedTo(TemporalUnit unit, int packedTime) {
if (unit == ChronoUnit.NANOS || unit == ChronoUnit.MILLIS) {
return packedTime;
}
Duration unitDur = unit.getDuration();
if (unitDur.getSeconds() > SECONDS_PER_DAY) {
throw new UnsupportedTemporalTypeException("Unit is too large to be used for truncation");
}
int hour = PackedLocalTime.getHour(packedTime);
int minute = PackedLocalTime.getMinute(packedTime);
int second = PackedLocalTime.getSecond(packedTime);
int milli = 0;
if (unit == ChronoUnit.DAYS) {
hour = 0;
minute = 0;
second = 0;
} else if (unit == ChronoUnit.HALF_DAYS) {
if (hour >= 12) {
hour = 12;
} else {
hour = 0;
}
minute = 0;
second = 0;
} else if (unit == ChronoUnit.HOURS) {
minute = 0;
second = 0;
} else if (unit == ChronoUnit.MINUTES) {
second = 0;
}
return PackedLocalTime.create(hour, minute, second, milli);
}
@Test
void testStateChangeLength()
{
final ChronoUnit from = ChronoUnit.CENTURIES;
final ChronoUnit to = ChronoUnit.HALF_DAYS;
final String payload = from.name() + STATE_SEPARATOR + to.name();
assertEquals(payload.length() + (SIZE_OF_INT * 2), stateChangeLength(from, to));
}
@DataProvider
public static Object[][] data_badTemporalUnit() {
return new Object[][] {
{ChronoUnit.MICROS},
{ChronoUnit.MILLIS},
{ChronoUnit.HALF_DAYS},
{ChronoUnit.DECADES},
{ChronoUnit.CENTURIES},
{ChronoUnit.MILLENNIA},
};
}
@Override
public ChronoUnit fromString(@NotNull final String input) {
checkArgument(StringUtils.isNotBlank(input));
if ("Nanos".equalsIgnoreCase(input) || "Nano".equalsIgnoreCase(input)) {
return ChronoUnit.NANOS;
}
if ("Micros".equalsIgnoreCase(input) || "Micro".equalsIgnoreCase(input)) {
return ChronoUnit.MICROS;
}
if ("Millis".equalsIgnoreCase(input) || "Milli".equalsIgnoreCase(input)) {
return ChronoUnit.MILLIS;
}
if ("Seconds".equalsIgnoreCase(input) || "Second".equalsIgnoreCase(input)) {
return ChronoUnit.SECONDS;
}
if ("Minutes".equalsIgnoreCase(input) || "Minute".equalsIgnoreCase(input)) {
return ChronoUnit.MINUTES;
}
if ("Hours".equalsIgnoreCase(input) || "Hour".equalsIgnoreCase(input)) {
return ChronoUnit.HOURS;
}
if ("HalfDays".equalsIgnoreCase(input) || "HalfDay".equalsIgnoreCase(input)) {
return ChronoUnit.HALF_DAYS;
}
if ("Days".equalsIgnoreCase(input) || "Day".equalsIgnoreCase(input)) {
return ChronoUnit.DAYS;
}
if ("Weeks".equalsIgnoreCase(input) || "Week".equalsIgnoreCase(input)) {
return ChronoUnit.WEEKS;
}
if ("Months".equalsIgnoreCase(input) || "Month".equalsIgnoreCase(input)) {
return ChronoUnit.MONTHS;
}
if ("Years".equalsIgnoreCase(input) || "Year".equalsIgnoreCase(input)) {
return ChronoUnit.YEARS;
}
if ("Decades".equalsIgnoreCase(input) || "Decade".equalsIgnoreCase(input)) {
return ChronoUnit.DECADES;
}
if ("Centuries".equalsIgnoreCase(input) || "Century".equalsIgnoreCase(input)) {
return ChronoUnit.CENTURIES;
}
if ("Millennia".equalsIgnoreCase(input)) {
return ChronoUnit.MILLENNIA;
}
if ("Eras".equalsIgnoreCase(input) || "Era".equalsIgnoreCase(input)) {
return ChronoUnit.ERAS;
}
if ("Forever".equalsIgnoreCase(input)) {
return ChronoUnit.FOREVER;
}
throw new InvalidInputException(input + " is not a valid ChronoUnit");
}
@Test
void halfDays() {
TimeInterval interval = new TimeInterval(7L, ChronoUnit.HALF_DAYS);
Assertions.assertThat(interval.toString()).isEqualTo("84h");
}