下面列出了java.time.chrono.MinguoDate#of ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void test_minguoChrono_extendedWidth() throws Exception {
// ISO 2021 is Minguo 110
DateTimeFormatter f = getFormatterBaseDate(YEAR, 2, 4, 2021);
MinguoDate date = MinguoDate.of(109, 6, 30);
assertEquals(f.format(date), "109");
date = MinguoDate.of(110, 6, 30);
assertEquals(f.format(date), "10");
date = MinguoDate.of(199, 6, 30);
assertEquals(f.format(date), "99");
date = MinguoDate.of(200, 6, 30);
assertEquals(f.format(date), "00");
date = MinguoDate.of(209, 6, 30);
assertEquals(f.format(date), "09");
date = MinguoDate.of(210, 6, 30);
assertEquals(f.format(date), "210");
}
public void test_minguoChrono_fixedWidth() throws Exception {
// ISO 2021 is Minguo 110
DateTimeFormatter f = getFormatterBaseDate(YEAR, 2, 2, 2021);
MinguoDate date = MinguoDate.of(109, 6, 30);
assertEquals(f.format(date), "09");
date = MinguoDate.of(110, 6, 30);
assertEquals(f.format(date), "10");
date = MinguoDate.of(199, 6, 30);
assertEquals(f.format(date), "99");
date = MinguoDate.of(200, 6, 30);
assertEquals(f.format(date), "00");
date = MinguoDate.of(209, 6, 30);
assertEquals(f.format(date), "09");
date = MinguoDate.of(210, 6, 30);
assertEquals(f.format(date), "10");
}
public void test_minguoChrono_fixedWidth() throws Exception {
// ISO 2021 is Minguo 110
DateTimeFormatter f = getFormatterBaseDate(YEAR, 2, 2, 2021);
MinguoDate date = MinguoDate.of(109, 6, 30);
assertEquals(f.format(date), "09");
date = MinguoDate.of(110, 6, 30);
assertEquals(f.format(date), "10");
date = MinguoDate.of(199, 6, 30);
assertEquals(f.format(date), "99");
date = MinguoDate.of(200, 6, 30);
assertEquals(f.format(date), "00");
date = MinguoDate.of(209, 6, 30);
assertEquals(f.format(date), "09");
date = MinguoDate.of(210, 6, 30);
assertEquals(f.format(date), "10");
}
@Test
public void test_fieldResolvesToChronoLocalDateTime_overrideChrono_matches() {
MinguoDate mdt = MinguoDate.of(100, 6, 30);
DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mdt.atTime(LocalTime.NOON))).toFormatter();
f = f.withChronology(MinguoChronology.INSTANCE);
TemporalAccessor accessor = f.parse("1234567890");
assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt));
assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.NOON);
assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE);
}
@Test
public void test_fieldResolvesToChronoZonedDateTime_overrideChrono_matches() {
MinguoDate mdt = MinguoDate.of(100, 6, 30);
ChronoZonedDateTime<MinguoDate> mzdt = mdt.atTime(LocalTime.NOON).atZone(EUROPE_PARIS);
DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mzdt)).toFormatter();
f = f.withChronology(MinguoChronology.INSTANCE);
TemporalAccessor accessor = f.parse("1234567890");
assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt));
assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.NOON);
assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE);
assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS);
}
@DataProvider(name = "calendars")
Object[][] data_of_calendars() {
return new Object[][]{
{JapaneseDate.of(JapaneseEra.HEISEI, 25, 01, 05), JAPANESE_DATE_TYPE},
{MinguoDate.of(102, 01, 05), MINGUO_DATE_TYPE},
{ThaiBuddhistDate.of(2556, 01, 05), THAIBUDDHIST_DATE_TYPE},
};
}
@Test
public void test_periodUntilDate() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
ChronoPeriod period = mdate1.until(mdate2);
assertEquals(period, MinguoChronology.INSTANCE.period(1, 1, 1));
}
@DataProvider(name="hijrahToMinguo")
Object[][] data_hijrahToMinguo() {
return new Object[][] {
{HijrahDate.of(1350,5,15), MinguoDate.of(20,9,28)},
{HijrahDate.of(1434,5,1), MinguoDate.of(102,3,13)},
{HijrahDate.of(1436,1,1), MinguoDate.of(103,10,25)},
{HijrahDate.of(1500,6,12), MinguoDate.of(166,5,5)},
{HijrahDate.of(1550,3,11), MinguoDate.of(214,8,11)},
};
}
@Test
public void test_periodUntilDate() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
ChronoPeriod period = mdate1.until(mdate2);
assertEquals(period, MinguoChronology.INSTANCE.period(1, 1, 1));
}
@DataProvider(name = "calendars")
Object[][] data_of_calendars() {
return new Object[][]{
{JapaneseDate.of(JapaneseEra.HEISEI, 25, 01, 05), JAPANESE_DATE_TYPE},
{MinguoDate.of(102, 01, 05), MINGUO_DATE_TYPE},
{ThaiBuddhistDate.of(2556, 01, 05), THAIBUDDHIST_DATE_TYPE},
};
}
@DataProvider(name = "calendars")
Object[][] data_of_calendars() {
return new Object[][]{
{JapaneseDate.of(JapaneseEra.HEISEI, 25, 01, 05), JAPANESE_DATE_TYPE},
{MinguoDate.of(102, 01, 05), MINGUO_DATE_TYPE},
{ThaiBuddhistDate.of(2556, 01, 05), THAIBUDDHIST_DATE_TYPE},
};
}
@Test
public void test_periodUntilUnit() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
long months = mdate1.until(mdate2, ChronoUnit.MONTHS);
assertEquals(months, 13);
}
@Test
public void test_periodUntilDate() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
ChronoPeriod period = mdate1.until(mdate2);
assertEquals(period, MinguoChronology.INSTANCE.period(1, 1, 1));
}
@Test
public void test_fieldResolvesToChronoZonedDateTime_overrideChrono_matches() {
MinguoDate mdt = MinguoDate.of(100, 6, 30);
ChronoZonedDateTime<MinguoDate> mzdt = mdt.atTime(LocalTime.NOON).atZone(EUROPE_PARIS);
DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mzdt)).toFormatter();
f = f.withChronology(MinguoChronology.INSTANCE);
TemporalAccessor accessor = f.parse("1234567890");
assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt));
assertEquals(accessor.query(TemporalQueries.localTime()), LocalTime.NOON);
assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE);
assertEquals(accessor.query(TemporalQueries.zoneId()), EUROPE_PARIS);
}
@Test
public void test_periodUntilDiffChrono() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
ThaiBuddhistDate ldate2 = ThaiBuddhistChronology.INSTANCE.date(mdate2);
ChronoPeriod period = mdate1.until(ldate2);
assertEquals(period, MinguoChronology.INSTANCE.period(1, 1, 1));
}
@DataProvider(name="hijrahToMinguo")
Object[][] data_hijrahToMinguo() {
return new Object[][] {
{HijrahDate.of(1350,5,15), MinguoDate.of(20,9,28)},
{HijrahDate.of(1434,5,1), MinguoDate.of(102,3,13)},
{HijrahDate.of(1436,1,1), MinguoDate.of(103,10,25)},
{HijrahDate.of(1500,6,12), MinguoDate.of(166,5,5)},
{HijrahDate.of(1550,3,11), MinguoDate.of(214,8,11)},
};
}
@DataProvider(name = "calendars")
Object[][] data_of_calendars() {
return new Object[][]{
{JapaneseDate.of(JapaneseEra.HEISEI, 25, 01, 05), JAPANESE_DATE_TYPE},
{MinguoDate.of(102, 01, 05), MINGUO_DATE_TYPE},
{ThaiBuddhistDate.of(2556, 01, 05), THAIBUDDHIST_DATE_TYPE},
};
}
@Test
public void test_periodUntilUnit() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
long months = mdate1.until(mdate2, ChronoUnit.MONTHS);
assertEquals(months, 13);
}
@Test
public void test_periodUntilDiffChrono() {
MinguoDate mdate1 = MinguoDate.of(1970, 1, 1);
MinguoDate mdate2 = MinguoDate.of(1971, 2, 2);
ThaiBuddhistDate ldate2 = ThaiBuddhistChronology.INSTANCE.date(mdate2);
ChronoPeriod period = mdate1.until(ldate2);
assertEquals(period, MinguoChronology.INSTANCE.period(1, 1, 1));
}
@Test
public void test_fieldResolvesToChronoLocalDate_overrideChrono_matches() {
MinguoDate mdt = MinguoDate.of(100, 6, 30);
DateTimeFormatter f = new DateTimeFormatterBuilder().appendValue(new ResolvingField(mdt)).toFormatter();
f = f.withChronology(MinguoChronology.INSTANCE);
TemporalAccessor accessor = f.parse("1234567890");
assertEquals(accessor.query(TemporalQueries.localDate()), LocalDate.from(mdt));
assertEquals(accessor.query(TemporalQueries.localTime()), null);
assertEquals(accessor.query(TemporalQueries.chronology()), MinguoChronology.INSTANCE);
}