Oracle Application Express Islamic or Persion Date Packer



如何在Oracle apex中实现Hijri或Persion Date Packer。请告诉我们。

如果您找不到预先构建的解决方案,您可能需要构建自己的解决方案。

以下是一些关于如何开始在Hijri中生成日期的提示。

在Oracle SQL中,您可以将格里高利转换为阿拉伯语Hijri,如下所示:

select to_char(sysdate,'DD MONTH YYYY','NLS_CALENDAR=''Arabic Hijrah''') from dual;

因此,如果你要构建一个日历,你需要一个开始和结束日期的列表。下面的示例为您提供了一个日期范围,从今天之前的500天到今天之后的499天。

select to_char(the_date, 'dd/mm/yyyy') gdate,
to_char(the_date, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''') hdate
from ( select sysdate-(rownum-500) the_date from dual connect by level < 1000 )
order by the_date;

使用上述或类似方法创建日期范围。根据日历的显示方式,可以将其精简为一个月或一个季度。

或者获得Hijri月/年:

select to_char(sysdate, 'mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''') from dual;

然后获取一个月的日期(在今天左右创建一个+-40的ranage,以确保您拥有所有这些月的日期,然后过滤这个月(:

select to_char(the_date, 'dd/mm/yyyy') gdate,
to_char(the_date, 'dd/mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''') hdate
from ( select sysdate-(rownum-40) the_date from dual connect by level < 80 )
where to_char(the_date, 'mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''') =
to_char(sysdate, 'mm/yyyy', 'NLS_CALENDAR=''Arabic Hijrah''')
order by the_date;

最新更新