2014-11-25 77 views
4

我们听说那些java8将包含的日子Umalqura日历管理Hijri日期的APi。如何在java.util.Date中使用java 8中的Umalqura日历

在哪里可以找到将日期转换为Hijri的示例?

事实上,我发现这个代码:

HijrahDate hdate = HijrahChronology.INSTANCE.date(LocalDate.of(2014, Month.JANUARY, 9)); 

但是,我不能设置一个输入(java.util.Date),而不是3个输入(年,月,日)

回答

8

您可以转换从LocalDate - 你如何得到这个取决于你。例如:

// Avoid using java.util.Date unless you really have to. 
// Stick to java.time.* if possible 
Date date = ...; 
Instant instant = Instant.ofEpochMilli(date.getTime()); 

// Pick the time zone you actually want here... 
LocalDate localDate = instant.atZone(ZoneId.of("UTC")).toLocalDate(); 

HijrahDate hdate = HijrahChronology.INSTANCE.date(instant); 
+0

»java.time.temporal.UnsupportedTemporalTypeException:不支持的字段:EpochDay \t在java.time.Instant.getLong(Instant.java:603) \t在java.time.chrono.HijrahChronology。日期(HijrahChronology.java:523) \t at java.time.chrono.HijrahChronology.date(HijrahChronology.java:217) – 2014-11-25 07:06:44

+0

@عبدالنورالتومي:有趣 - 尝试先转换为LocalDate。我也会这么做:) – 2014-11-25 07:09:14

+0

@عبدالنورالتومي:看我的编辑 - 我测试过:) – 2014-11-25 07:13:24