This MinguoDate calendar system is primarily used in Taiwan (Republic of China…)

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

To convert the current date to the Minguo date, just subtracts the current year with number 1911, for example

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

1. LocalDate -> MinguoDate

Review a full example to convert a LocalDate to MinguoDate

TestMinguoDate.java

package com.favtuts.time;

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
    }
}

Output

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

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

Download Source Code

$ git clone https://github.com/favtuts/java-core-tutorials-examples

$ cd java-basic/time

References

  1. MinguoDate JavaDoc
  2. Minguo calendar

Leave a Reply

Your email address will not be published. Required fields are marked *