Hướng dẫn và ví dụ Java MinguoDate
1. MinguoDate
Lớp MinguoDate đại diện cho ngày tháng trong hệ thống lịch Trung Hoa Dân Quốc (Republic of China - ROC) hay còn gọi là lịch Minguo. Lịch này được sử dụng từ đầu năm 1912, năm thành lập nhà nước Trung Hoa Dân Quốc. Ngày 1 tháng 1 năm 1912 trong hệ thống lịch ISO tương đương với ngày 1 tháng 1 năm 1 trong lịch Minguo. Thuật ngữ "Minguo" đơn giản có nghĩa là "nước cộng hoà" (tiếng Trung phồn thể: 民國; tiếng Trung giản thể: 民国).
Minguo tuân theo truyền thống của người Trung Quốc là sử dụng tên kỷ nguyên (era) và năm cai trị, giống như các triều đại Trung Quốc trước đó. Tuy nhiên tháng và ngày được đánh số theo lịch Gregorian (ISO). Hệ thống lịch này chỉ có 2 kỷ nguyên là BEFORE_ROC (Before Republic of China) và ROC (Republic of China) đại diện cho thời kỳ trước năm 1912 và sau năm 1912. Thực tế là chế độ phong kiến Trung Quốc kết thúc ngày 12 tháng 2 năm 1912 khi Yaozhi (Phổ Nghi) vị hoàng đế cuối cùng của Trung Quốc bị buộc phải thoái vị.
Lịch ROC đã được sử dụng rộng rãi tại Trung Hoa Dân Quốc từ năm 1912, bao gồm cả trong các tài liệu chính thức ban đầu. Lịch Trung Hoa Dân Quốc là lịch chính thức được sử dụng ở Đài Loan từ năm 1945, và cũng được các cộng đồng Hoa kiều và Đài Loan áp dụng. Các nghiên cứu địa chí và lịch sử được xuất bản ở Trung Quốc đại lục trong khoảng thời gian từ năm 1912 đến năm 1949 cũng sử dụng lịch Trung Hoa Dân Quốc.
- LocalDate
- ThaiBuddhistDate
- JapaneseDate
- HijrahDate
- LocalDate
- Temporal
- TemporalAdjuster
- TemporalAccessor
- ChronoLocalDate
2. MinguoDate Examples
Chuyển đổi một ngày tháng trong lịch ISO thành ngày tháng trong lịch Minguo và ngược lại:
MinguoDate_from_ex1.java
LocalDate localDate = LocalDate.of(2000, 2, 15);
// Convert Minguo Date to ISO Date
MinguoDate minguoDate = MinguoDate.from(localDate);
System.out.printf("ISO Date: %s, Minguo Date: %s%n%n", localDate, minguoDate);
minguoDate = MinguoDate.of(100, 1, 1);
// Convert ISO Date to Minguo Date
localDate = LocalDate.from(minguoDate);
System.out.printf("Minguo Date: %s, ISO Date: %s%n", minguoDate, localDate);
Output:
ISO Date: 2000-02-15, Minguo Date: Minguo ROC 89-02-15
Minguo Date: Minguo ROC 100-01-01, ISO Date: 2011-01-01
Ví dụ: Xem thông tin kỷ nguyên (era) của một đối tượng MinguoDate.
MinguoDate_ex2.java
MinguoDate minguoDate = MinguoDate.of(50, 3, 15);
MinguoEra era = minguoDate.getEra();
System.out.printf("Minguo Date: %s, ISO Date: %s%n", minguoDate, LocalDate.from(minguoDate));
System.out.println(" > Era: " + era.name() +", value: " + era.getValue());
minguoDate = MinguoDate.of(-10, 3, 15);
era = minguoDate.getEra();
System.out.printf("%nMinguo Date: %s, ISO Date: %s%n", minguoDate, LocalDate.from(minguoDate));
System.out.println(" > Era: " + era.name() +", value: " + era.getValue());
Output:
Minguo Date: Minguo ROC 50-03-15, ISO Date: 1961-03-15
> Era: ROC, value: 1
Minguo Date: Minguo BEFORE_ROC 11-03-15, ISO Date: 1901-03-15
> Era: BEFORE_ROC, value: 0
- Hướng dẫn và ví dụ Java MinguoEra
3. MinguoDate Methods
Factory methods:
public static MinguoDate now()
public static MinguoDate now(ZoneId zone)
public static MinguoDate now(Clock clock)
public static MinguoDate of(int prolepticYear, int month, int dayOfMonth)
public static MinguoDate from(TemporalAccessor temporal)
Các phương thức khác:
public MinguoChronology getChronology()
public MinguoEra getEra()
public int lengthOfMonth()
public ValueRange range(TemporalField field)
public long getLong(TemporalField field)
public MinguoDate with(TemporalField field, long newValue)
public MinguoDate with(TemporalAdjuster adjuster)
public MinguoDate plus(TemporalAmount amount)
public MinguoDate minus(TemporalAmount amount)
public MinguoDate plus(long amountToAdd, TemporalUnit unit)
public MinguoDate minus(long amountToAdd, TemporalUnit unit)
public final ChronoLocalDateTime<MinguoDate> atTime(LocalTime localTime)
public long toEpochDay()
public ChronoPeriod until(ChronoLocalDate endDate)
public long until(Temporal endExclusive, TemporalUnit unit)
Về cơ bản các phương thức của MinguoDate đều tương tự như các phương thức của LocalDate. Bạn có thể xem bài viết về lớp LocalDate để có được nhiều hơn các ví dụ:
Các hướng dẫn Java Date Time
- Hướng dẫn và ví dụ Java ZoneId
- Hướng dẫn và ví dụ Java Temporal
- Hướng dẫn và ví dụ Java Period
- Hướng dẫn và ví dụ Java TemporalAdjusters
- Hướng dẫn và ví dụ Java MinguoDate
- Hướng dẫn và ví dụ Java TemporalAccessor
- Hướng dẫn và ví dụ Java JapaneseEra
- Hướng dẫn và ví dụ Java HijrahDate
- UTC, UT và GMT là gì?
- Hướng dẫn và ví dụ Date Time trong Java
- Giờ Tiết kiệm ánh sáng ban ngày (DST) là gì?
- Hướng dẫn và ví dụ Java LocalDate
- Hướng dẫn và ví dụ Java LocalTime
- Hướng dẫn và ví dụ Java LocalDateTime
- Hướng dẫn và ví dụ Java ZonedDateTime
- Hướng dẫn và ví dụ Java ZoneOffset
- Hướng dẫn và ví dụ Java JapaneseDate
- Hướng dẫn và ví dụ Java Duration
- Hướng dẫn và ví dụ Java TemporalQuery
- Hướng dẫn và ví dụ Java TemporalAdjuster
- Hướng dẫn và ví dụ Java ChronoUnit
- Hướng dẫn và ví dụ Java TemporalQueries
Show More
- Các hướng dẫn Java Web Services
- Hướng dẫn lập trình Java Servlet/JSP
- Các hướng dẫn lập trình JavaFX
- Các hướng dẫn lập trình Java SWT
- Các hướng dẫn Java Oracle ADF
- Java cơ bản
- Các hướng dẫn Java Collections Framework
- Các hướng dẫn Java IO
- Các hướng dẫn Struts2 Framework
- Các hướng dẫn Spring Boot
- Các hướng dẫn Spring Cloud
- Các hướng dẫn Maven
- Các hướng dẫn Gradle