如何将格里高利历和伊斯兰历合二为一(javascript) [英] How to make Gregorian and Islamic calendar in one (javascript)
问题描述
我正在尝试制作一个同时包含格里高利历和伊斯兰历的日历,我只是像波纹管一样粗略地编码了格里高利历,但是我不知道如何在其中包括伊斯兰历,请问任何一个给我个主意那怎么做
I am trying to make calendar which contain both Gregorian and Islamic date in one,I just rough coded Gregorian calendar like bellow but i don't have idea that how to include Islamic date with this,could any one please give me idea that how to make this
我想要这样的日历 http://www.islamicfinder.org/Hcal/index.php
我的代码是:
function Calendar()
{
var now=new Date();
//---------------current date and time------------------
var day=now.getDate();
var month=now.getMonth()+1;
var year=now.getFullYear();
//-----------------------------------------------------
var FirstDay=new Date(now.getFullYear(),now.getMonth(),1);
var dayOne=FirstDay.getDay();
var LastDay=new Date(now.getFullYear(),now.getMonth()+1,0);
var dayLast=LastDay.getDay();
var noDays=getMonthDays(year,month);
var abs="<table><tr><td>sun</td><td>Mon</td><td>Tue</td><td>Wed</td><td>Th</td><td>Fri</td><td>sat</td></tr><tr>";
var iterator=0;;
while(dayOne>0)
{
abs +="<td></td>"
iterator++;
dayOne--;
}
var i=1;
alert(month);
alert(year)
while(i<=noDays)
{
if(iterator>6)
{
iterator=0;
abs +="</tr><tr>"
}
abs +="<td>"+i+"</td>";
iterator++
i++;
}
var nameOfMonth=monthName(month);
document.getElementById("head").innerHTML="<h1>"+nameOfMonth+"</h1>";
document.getElementById("tble").innerHTML=abs;
}
function getMonthDays(iyear,imonth)
{
if (((iyear % 4)==0) && ((iyear % 100)!=0) || ((iyear % 400)==0))
{
var days=new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
return days[imonth];
}
else
{
var days=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
return days[imonth];
}
}
function monthName(m)
{
var months=new Array("nill","January","February","March","April","May","June","July","August","September","October","November","December");
//alert(months[m]);
return months[m];
}
推荐答案
伊斯兰日历(回历)是纯粹的阴历.它包含基于月球运动的12个月,并且由于12个宗教会议月只有12 x 29.53 = 354.36天,因此伊斯兰历始终比热带年份短,因此它相对于公历发生了变化.日历基于古兰经(Sura IX,36-37),对穆斯林来说,它的神圣遵守是神圣的职责.
The Islamic calendar (Hijri calendar) is a purely lunar calendar. It contains 12 months that are based on the motion of the moon, and because 12 synodic months is only 12 x 29.53=354.36 days, the Islamic calendar is consistently shorter than a tropical year, and therefore it shifts with respect to the Gregorian calendar. The calendar is based on the Qur’an (Sura IX, 36-37) and its proper observance is a sacred duty for Muslims.
请参见 HERE ,这两个用于更改日期的函数介于伊斯兰和公历之间.
See HERE, two functions to change date between (Islamic and Gregorian calendar).
fromGregorian:function(/*Date*/gregorianDate){
// summary:This function returns the equivalent Islamic Date value for the Gregorian Date.
......
}
toGregorian:function(){
// summary:This returns the equevalent Grogorian date value in Islamic Date object.
......
}
查看 HERE !,可以同时显示公历和回历的日历示例时间.
Look at HERE!, Examples of Calendars that can show both Gregorian and Hijri calendar at the same time.
这篇关于如何将格里高利历和伊斯兰历合二为一(javascript)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!