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