将公历日期转换为回历日期

2023-12-24

我想从公历日期转换为回历(伊斯兰)日期,我需要一个 java 类来进行此转换。我想给它一个“yyyy/mm/dd”格式的公历日期作为字符串,它给我相同格式的回历日期。谁能帮我?


首先,将转换部分与格式化/解析部分分开。您稍后可以轻松处理这些问题 - 并且有lotsStack Overflow 上有关此问题的问题。

我个人会用乔达时间 http://www.joda.org/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
    }
} 

(感觉应该有一种更清晰的方法来在年表之间转换日期,但我无法立即找到一种方法。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将公历日期转换为回历日期 的相关文章

随机推荐