2017-01-02 6 views
-1

나는 Hijri + Gregorian 날짜의 자바 스크립트 코드를 얻습니다. 내가 먼저 회교 식 날짜를 넣을와 같은 다음 그레고리오 :서식 Hijri 및 그레고리력 날짜

Senin, 2 Januari 2017 M/3 Rabiul Tsani 1438 H
Senin, H/2 Januari 2017 M

1438 3 Rabiul Tsani에

자바 스크립트 코드를 편집 할 수 없기 때문에 도와주세요. 이 코드입니다 : 마지막으로

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("Muharram","Safar","Rabiul Awwal","Rabiul Tsani","Jumadil Ula","Jumadil Tsani","Rajab","Sya\'ban","Ramadhan","Syawwal","Dzul Qa\'dah","Dzul Hijjah"); 
 
    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("Ahad","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"); 
 
var monthname=new Array("Januari","Februari","Maret","April","Mei"," Juni","Juli","Agustus","September","Oktober","November","Desember"); 
 

 
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(" M/" + h.toString() + " H &nbsp;&nbsp;");

답변

0

, 나 자신 녀석하여 편집 할 수 있습니다, 하하하, 심지어는 프로그래머 아니에요. 답변 해 주셔서 감사합니다. 만약 누군가이 코드를 사용하기를 원하지 않는다면, 나는 그것을 공유 할 것입니다.

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("Muharram","Safar","Rabiul Awal","Rabiul Akhir","Jumadil Awal","Jumadil Akhir","Rajab","Sya'ban","Ramadhan","Syawal","Zulqai'dah","Zulhijjah"); 
 
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 ("Ahad","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"); 
 
var monthname=new Array("Januari","Februari","Maret","April","Mei"," Juni","Juli","Agustus","September","Oktober","November","Desember"); 
 
var y = tod.getFullYear(); 
 
var m = tod.getMonth(); 
 
var d = tod.getDate(); 
 
var dow = tod.getDay(); 
 
document.write(weekday[dow] + ", "); 
 
m++; 
 
fixd=gregToFixed(y, m, d); 
 
var steve=new Hijri(1421, 11, 28); 
 
steve = fixedToHijri(fixd); 
 
document.write(" " + steve.toString() + "&nbsp;&nbsp;"); 
 
document.write("/" + " " + d + " " + monthname[m] + " " + y); 
 
m++;