Java 8 - MinguoDateの例

このhttps://docs.oracle.com/javase/8/docs/api/java/time/chrono/MinguoDate.html[MinguoDate]カレンダーシステムは、主に台湾(中華人民共和国)で使用されています。

(ISO) 1912-01-01 = 1-01-01 (Minguo ROC)

現在の日付をMinguoの日付に変換するには、現在の年を番号1911で減算します。たとえば、

2016 (ISO) - 1911 = 105 (Minguo ROC)

1. LocalDate - > MinguoDate

LocalDate`を MinguoDate`に変換する完全な例を見てください。

TestMinguoDate.java

package com.mkyong.date;

import java.time.LocalDate;
import java.time.chrono.MinguoDate;

public class TestMinguoDate {

    public static void main(String[]args) {

       //LocalDate -> MinguoDate
        System.out.println("Example 1...");

        LocalDate localDate = LocalDate.of(1912, 1, 1);
        MinguoDate minguo = MinguoDate.from(localDate);
        System.out.println("LocalDate : " + localDate);//1912-01-01
        System.out.println("MinguoDate : " + minguo);  //1-01-01

       //MinguoDate -> LocalDate
        System.out.println("\nExample 2...");

        MinguoDate minguo2 = MinguoDate.of(105, 8, 24);
       //LocalDate localDate = LocalDate.ofEpochDay(minguo2.toEpochDay());
        LocalDate localDate2 = LocalDate.from(minguo2);
        System.out.println("MinguoDate : " + minguo2);  //105-08-24
        System.out.println("LocalDate : " + localDate2);//2016-08-24

    }

}

出力

Example 1...
LocalDate : 1912-01-01
MinguoDate : Minguo ROC 1-01-01

Example 2...
MinguoDate : Minguo ROC 105-08-24
LocalDate : 2016-08-24