Java JapaneseDate类使用实例

发布时间:2025-12-09 11:52:28 浏览次数:2

实例1: test_getDayOfYear

import java.time.chrono.JapaneseDate; //导入依赖的package包/类@Testpublic void test_getDayOfYear() {    // Test all the Eras    for (JapaneseEra era : JapaneseEra.values()) {        int firstYear = (era == JapaneseEra.MEIJI) ? 6 : 1;  // Until Era supports range(YEAR_OF_ERA)        JapaneseDate hd1 = JapaneseChronology.INSTANCE.dateYearDay(era, firstYear, 1);        ValueRange range = hd1.range(DAY_OF_YEAR);        assertEquals(range.getMaximum(), hd1.lengthOfYear(), "lengthOfYear should match range.getMaximum()");        for (int i = 1; i <= hd1.lengthOfYear(); i++) {            JapaneseDate hd = JapaneseChronology.INSTANCE.dateYearDay(era, firstYear, i);            int doy = hd.get(DAY_OF_YEAR);            assertEquals(doy, i, "get(DAY_OF_YEAR) incorrect for " + i + ", of date: " + hd);        }    }} 

实例2: test_JapaneseChrono_vsCalendar

import java.time.chrono.JapaneseDate; //导入依赖的package包/类@Test(dataProvider="RangeVersusCalendar")public void test_JapaneseChrono_vsCalendar(LocalDate isoStartDate, LocalDate isoEndDate) {    Locale locale = Locale.forLanguageTag("ja-JP-u-ca-japanese");    assertEquals(locale.toString(), "ja_JP_#u-ca-japanese", "Unexpected locale");    Calendar cal = java.util.Calendar.getInstance(locale);    assertEquals(cal.getCalendarType(), "japanese", "Unexpected calendar type");    JapaneseDate jDate = JapaneseChronology.INSTANCE.date(isoStartDate);    // Convert to millis and set Japanese Calendar to that start date (at GMT)    OffsetDateTime jodt = OffsetDateTime.of(isoStartDate, LocalTime.MIN, ZoneOffset.UTC);    long millis = jodt.toInstant().toEpochMilli();    cal.setTimeZone(TimeZone.getTimeZone("GMT+00"));    cal.setTimeInMillis(millis);    while (jDate.isBefore(isoEndDate)) {        assertEquals(jDate.get(ChronoField.DAY_OF_MONTH), cal.get(Calendar.DAY_OF_MONTH), "Day mismatch in " + jDate + ";  cal: " + cal);        assertEquals(jDate.get(ChronoField.MONTH_OF_YEAR), cal.get(Calendar.MONTH) + 1, "Month mismatch in " + jDate);        assertEquals(jDate.get(ChronoField.YEAR_OF_ERA), cal.get(Calendar.YEAR), "Year mismatch in " + jDate);        jDate = jDate.plus(1, ChronoUnit.DAYS);        cal.add(Calendar.DAY_OF_MONTH, 1);    }} 

实例3: test3

import java.time.chrono.JapaneseDate; //导入依赖的package包/类@Testpublic void test3() throws NoSuchMethodException, SecurityException, SQLException {PropertyMapperManager mapper = new PropertyMapperManager();LocalDate localDate = LocalDate.now();java.sql.Date date = java.sql.Date.valueOf(localDate);JapaneseDate japaneseDate = JapaneseDate.of(localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth());assertThat(mapper.getValue(JavaType.of(JapaneseEra.class), newResultSet("getInt", 2), 1), is(JapaneseEra.HEISEI));assertThat(mapper.getValue(JavaType.of(Era.class), newResultSet("getInt", 2), 1), is(nullValue()));assertThat(mapper.getValue(JavaType.of(JapaneseDate.class), newResultSet("getDate", date), 1), is(japaneseDate));assertThat(mapper.getValue(JavaType.of(ChronoLocalDate.class), newResultSet("getDate", null), 1), is(nullValue()));assertThat(mapper.getValue(JavaType.of(JapaneseEra.class), newResultSet("getInt", 0, "wasNull", true), 1), is(nullValue()));assertThat(mapper.getValue(JavaType.of(JapaneseDate.class), newResultSet("getDate", null), 1), is(nullValue()));} 

实例4: test_dateNow

import java.time.chrono.JapaneseDate; //导入依赖的package包/类@Testpublic void test_dateNow(){    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseDate.now()) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseDate.now(ZoneId.systemDefault())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseDate.now(Clock.systemDefaultZone())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseDate.now(Clock.systemDefaultZone().getZone())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseChronology.INSTANCE.dateNow(ZoneId.systemDefault())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseChronology.INSTANCE.dateNow(Clock.systemDefaultZone())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(), JapaneseChronology.INSTANCE.dateNow(Clock.systemDefaultZone().getZone())) ;    ZoneId zoneId = ZoneId.of("Europe/Paris");    assertEquals(JapaneseChronology.INSTANCE.dateNow(zoneId), JapaneseChronology.INSTANCE.dateNow(Clock.system(zoneId))) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(zoneId), JapaneseChronology.INSTANCE.dateNow(Clock.system(zoneId).getZone())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(zoneId), JapaneseDate.now(Clock.system(zoneId))) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(zoneId), JapaneseDate.now(Clock.system(zoneId).getZone())) ;    assertEquals(JapaneseChronology.INSTANCE.dateNow(ZoneId.of(ZoneOffset.UTC.getId())), JapaneseChronology.INSTANCE.dateNow(Clock.systemUTC())) ;} 

实例5: test_with_TemporalField_long

import java.time.chrono.JapaneseDate; //导入依赖的package包/类@Testpublic void test_with_TemporalField_long() {    JapaneseDate base = JapaneseChronology.INSTANCE.date(JapaneseEra.SHOWA, 63, 6, 30);    JapaneseDate test = base.with(YEAR, 1987);    assertEquals(test, JapaneseChronology.INSTANCE.date(JapaneseEra.SHOWA, 62, 6, 30));    test = test.with(YEAR_OF_ERA, 2);    assertEquals(test, JapaneseChronology.INSTANCE.date(JapaneseEra.SHOWA, 2, 6, 30));    test = test.with(ERA, JapaneseEra.HEISEI.getValue());    assertEquals(test, JapaneseChronology.INSTANCE.date(JapaneseEra.HEISEI, 2, 6, 30));    test = test.with(MONTH_OF_YEAR, 3);    assertEquals(test, JapaneseChronology.INSTANCE.date(JapaneseEra.HEISEI, 2, 3, 30));    test = test.with(DAY_OF_MONTH, 4);    assertEquals(test, JapaneseChronology.INSTANCE.date(JapaneseEra.HEISEI, 2, 3, 4));} 
Japanese日本Java
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477