我需要获得3个伊斯兰日期,我正在使用Joda Time来转换日期。
日期1:
DateTime todayIso = new DateTime(2014, 4, 20,0,0,0);
DateTimeZone tz = DateTimeZone.forID("Asia/Tehran");
DateTime dtIslamic =
todayIso.withChronology(
IslamicChronology.getInstance(
tz,
IslamicChronology.LEAP_YEAR_15_BASED));
Log.d("DATE !", dtIslamic.getYear()+" "+ dtIslamic.getMonthOfYear()+" "+ dtIslamic.getDayOfMonth());
结果是“1435 6 19”这是错的,应该是“1435 6 20”。
DATE2:
DateTime todayIso = new DateTime(2015, 2, 15,0,0,0);
DateTimeZone tz = DateTimeZone.forID("Asia/Tehran");
DateTime dtIslamic =
todayIso.withChronology(
IslamicChronology.getInstance(
tz,
IslamicChronology.LEAP_YEAR_15_BASED));
Log.d("DATE !", dtIslamic.getYear()+" "+ dtIslamic.getMonthOfYear()+" "+ dtIslamic.getDayOfMonth());
结果是“1436 1 25”这是真的。
日期3:
DateTime todayIso = new DateTime(2015, 12, 2,0,0,0);
DateTimeZone tz = DateTimeZone.forID("Asia/Tehran");
DateTime dtIslamic =
todayIso.withChronology(
IslamicChronology.getInstance(
tz,
IslamicChronology.LEAP_YEAR_15_BASED));
Log.d("DATE !", dtIslamic.getYear()+" "+ dtIslamic.getMonthOfYear()+" "+ dtIslamic.getDayOfMonth());
结果是“1437 2 19”这是错的,应该是“1437 2 20”。
第1437年伊斯兰日期的第一个月有29天,但也显示第30天。