Date Hijri,带阿拉伯数字的公历日期和时间

Date Hijri,带阿拉伯数字的公历日期和时间,date,time,arabic,hijri,Date,Time,Arabic,Hijri,我正在努力用阿拉伯语显示日期。 这包括回历(伊斯兰)日期、公历日期和时间。 问题是,我希望数字显示为阿拉伯数字,而不是英文数字。 记住,我不能把整页的数字改成阿拉伯数字。只有要转换的脚本数字。 代码如下: <div align="center"> <table border="0" width="39%" dir="rtl"> <tr> <td> <script language="JavaScript"> v


我正在努力用阿拉伯语显示日期。
这包括回历(伊斯兰)日期、公历日期和时间。
问题是,我希望数字显示为阿拉伯数字,而不是英文数字。
记住,我不能把整页的数字改成阿拉伯数字。只有要转换的脚本数字。
代码如下:

<div align="center">
  <table border="0" width="39%" dir="rtl">
    <tr>
      <td>
<script language="JavaScript">

var fixd;

function isGregLeapYear(year)
{
return year%4 == 0 && year%100 != 0 || year%400 == 0;
}


function gregToFixed(year, month, day)
{
var a = Math.floor((year - 1) / 4);
var b = Math.floor((year - 1) / 100);
var c = Math.floor((year - 1) / 400);
var d = Math.floor((367 * month - 362) / 12);

if (month <= 2)
e = 0;
else if (month > 2 && isGregLeapYear(year))
e = -1;
else
e = -2;

return 1 - 1 + 365 * (year - 1) + a - b + c + d + e + day;
}

function Hijri(year, month, day)
{
this.year = year;
this.month = month;
this.day = day;
this.toFixed = hijriToFixed;
this.toString = hijriToString;
}

function hijriToFixed()
{
return this.day + Math.ceil(29.5 * (this.month - 1)) + (this.year - 1) * 354 +
Math.floor((3 + 11 * this.year) / 30) + 227015 - 1;
}

function hijriToString()
{
var months = new Array("محرم","صفر","ربيع أول","ربيع ثانى","جمادى أول","جمادى ثانى","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة");
return this.day + " " + months[this.month - 1]+ " " + this.year;
}

function fixedToHijri(f)
{
var i=new Hijri(1100, 1, 1);
i.year = Math.floor((30 * (f - 227015) + 10646) / 10631);
var i2=new Hijri(i.year, 1, 1);
var m = Math.ceil((f - 29 - i2.toFixed()) / 29.5) + 1;
i.month = Math.min(m, 12);
i2.year = i.year;
i2.month = i.month;
i2.day = 1;
i.day = f - i2.toFixed() + 1;
return i;
}

var tod=new Date();
var weekday=new Array("الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت");
var monthname=new Array("يناير","فبراير","مارس","إبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر");

var y = tod.getFullYear();
var m = tod.getMonth();
var d = tod.getDate();
var dow = tod.getDay();
document.write(weekday[dow] + " " + d + " " + monthname[m] + " " + y);
m++;
fixd=gregToFixed(y, m, d);
var h=new Hijri(1421, 11, 28);
h = fixedToHijri(fixd);
document.write(" م | " + h.toString() + "هـ");

</script> 
        | 
<script>
<!-- Clock Code -->
var dayarray=new Array("","","","","","","")
var montharray=new Array("","","","","","","","","","","","")
function getthedate(){
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var hours=mydate.getHours()
var minutes=mydate.getMinutes()
var seconds=mydate.getSeconds()
var dn="H:i"
if (hours>=12)
dn="مساءً"
else
dn="صباحاً"
if (hours>12){
hours=hours-12
}
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
var cdate="<small><font color='000000' face='Times New Roman'>"+hours+":"+minutes+":"+seconds+" "+dn+"</font></small>"
if (document.all)
document.all.clock.innerHTML=cdate
else if (document.getElementById)
document.getElementById("clock").innerHTML=cdate
else
document.write(cdate)
}
if (!document.all&&!document.getElementById)
getthedate()
function goforit(){
if (document.all||document.getElementById)
setInterval("getthedate()",1000)
}
         </script> 
        <span id="clock">
        <body onLoad="goforit()">
        </span></td>
    </tr>
  </table>
</div>
</td>
</tr>
</table>

var-fixd;
函数为gregleapyear(年)
{
返回年份%4==0和年份%100!=0 | |年份%400==0;
}
函数GREGTOFIX(年、月、日)
{
var a=数学下限((1年)/4);
var b=数学下限((第1年)/100);
var c=数学下限((1年)/400);
var d=数学下限((367*月-362)/12);
如果(第2个月和第3个月(年))
e=-1;
其他的
e=-2;
返回1-1+365*(年份-1)+a-b+c+d+e+天;
}
功能Hijri(年、月、日)
{
今年=年;
本月=月;
this.day=天;
this.toFixed=hijriToFixed;
this.toString=hijriToString;
}
函数hijriToFixed()
{
返回this.day+Math.ceil(29.5*(this.month-1))+(this.year-1)*354+
数学层((3+11*本年)/30)+227015-1;
}
函数hijriToString()
{
月向量月数=新阵列新阵列新阵列新阵列新阵列新阵列新阵列新阵列新阵列(“本16055)的各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各ض;
返回this.day+“”+months[this.month-1]+“”+this.year;
}
函数fixedToHijri(f)
{
var i=新Hijri(1100,1,1);
i、 年份=数学楼层((30*(f-227015)+10646)/10631);
var i2=新的Hijri(一年,1,1);
var m=Math.ceil((f-29-i2.toFixed())/29.5)+1;
i、 月=数学最小值(m,12);
i2.year=i.year;
i2.month=i.month;
i2.日=1;
i、 day=f-i2.toFixed()+1;
返回i;
}
var tod=新日期();
日内一天到日内一天=新阵列=新阵列的新阵列(“15755)方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方);;
从目前来看,新阵列的方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方ت;
变量y=tod.getFullYear();
var m=tod.getMonth();
var d=tod.getDate();
var-dow=tod.getDay();
编写(工作日[dow]+“”+d+“”+monthname[m]+“”+y);
m++;
fixd=gregtofix(y,m,d);
var h=新的Hijri(1421,11,28);
h=固定的Tohijri(固定的d);
文件。写(“م|”+h.toString()+“هـ”);
| 
var dayarray=新数组(“”、“”、“”、“”、“”、“”、“”、“”、“”)
var montharray=新数组(“,”,“,”,“,”,“,”,“,”,“,”,“,”,”)
函数getthedate(){
var mydate=新日期()
var year=mydate.getYear()
如果(年份<1000)
年份+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
如果(daym=12)
dn=“مسءً”
其他的
dn=“بااً”
如果(小时数>12){
小时=小时-12
}
如果(小时==0)
小时=12
if(minutes
函数convertDigitIn(enDigit){//波斯语、阿拉伯语、乌尔都语
var newValue=“”;

对于(var i=0;i=48&&ch我建议您使用HIJRI日期脚本,它非常有用,并且非常容易编辑


要将数字更改为阿拉伯数字,您需要更改css中的数字

您好,事实上这些是,您正在寻找阿拉伯印度数字。看到这一点,它可能会回答您的问题Thnx,以获得回复@Sneetsher。我不擅长javascript。所以我不知道如何做。您能帮个忙吗?您有用于月名和月份的数组日期名称。您可以对数字执行完全相同的操作。使用阿拉伯脚本数字创建一个数组。(记住从零开始)。然后,当您要显示数字时,只需使用数组中的数字,就像使用数组中的月名称和日名称一样。
function convertDigitIn(enDigit){ // PERSIAN, ARABIC, URDO
    var newValue="";
    for (var i=0;i<enDigit.length;i++)
    {
        var ch=enDigit.charCodeAt(i);
        if (ch>=48 && ch<=57)
        {
            // european digit range
            var newChar=ch+1584;
            newValue=newValue+String.fromCharCode(newChar);
        }
        else
            newValue=newValue+String.fromCharCode(ch);
    }
    return newValue;
}