编程语言
首页 > 编程语言> > java – 将gregorian转换为hijri date

java – 将gregorian转换为hijri date

作者:互联网

我想从Gregorian转换为Hijri(伊斯兰)日期,我需要一个java类来进行此转换.我想以格式“yyyy / mm / dd”作为字符串给它一个格里高利日期,它以相同的格式给出了Hijri日期.谁能帮我?

解决方法:

首先,将转换部分与格式化/解析部分分开.您可以稍后轻松处理这些问题 – Stack Overflow上有很多关于此问题的问题.

就个人而言,我会使用Joda Time,这通常会让生活更加简单.例如:

import org.joda.time.Chronology;
import org.joda.time.LocalDate;
import org.joda.time.chrono.IslamicChronology;
import org.joda.time.chrono.ISOChronology;

public class Test {
    public static void main(String[] args) throws Exception {
        Chronology iso = ISOChronology.getInstanceUTC();
        Chronology hijri = IslamicChronology.getInstanceUTC();

        LocalDate todayIso = new LocalDate(2013, 3, 31, iso);
        LocalDate todayHijri = new LocalDate(todayIso.toDateTimeAtStartOfDay(),
                                             hijri);
        System.out.println(todayHijri); // 1434-05-19
    }
} 

(感觉应该有一个更简洁的方法来转换年表之间的日期,但我找不到一个.)

标签:date-conversion,gregorian-calendar,java,date,hijri
来源: https://codeday.me/bug/20190926/1817989.html