mmamangilo

Icon

Just another WordPress.com site

Software Untuk Hitung Tanggal Hijriah Islam


Jika Anda ingin gaya teks kalender sendiri, atau Anda seorang webmaster atau web developer yang ingin membangun aplikasi sendiri kalender hijriah web, maka kode berikut mungkin bisa berguna. Script (dimodifikasi dari halaman Robert van Gent’s) menghitung perkiraan tanggal hijriah dari tanggal komputer berjalan. Hal ini didasarkan pada perhitungan aritmatika yang sesuai dengan fase bulan saat ini. Perhitungan ini didasarkan pada siklus lunar 30-tahun di mana panjang bulan lunar aternatingly didefinisikan sebagai 29 atau 30 hari. Setiap dua atau tiga tahun satu hari ekstra yang ditambahkan pada akhir tahun untuk menjaga dengan fase bulan. Formula ini juga mirip dengan “Kuwait Algoritma” yang digunakan oleh Microsoft untuk mendefinisikan Kalender Hijriah tanggal.

fungsi gmod (n, m) {
return ((n% m) + m) m%;
}

fungsi kuwaiticalendar (menyesuaikan) {
Tanggal hari ini = var baru ();
if (menyesuaikan) {
adjustmili = 1000 * 60 * 60 * 24 * menyesuaikan;
todaymili = today.getTime () + adjustmili;
hari = new Tanggal (todaymili);
}
hari = today.getDate ();
bulan = today.getMonth ();
tahun = today.getFullYear ();
m = +1 bulan;
y = tahun;
if (m <3) {
y -= 1;
m + = 12;
}

a = Math.floor (y/100.);
b = 2-a Math.floor + (a / 4.);
if (y <1583) b = 0;
if (y == 1582) {
if (m> 10) b = -10;
if (m == 10) {
b = 0;
if (hari> 4) b = -10;
}
}

jd = Math.floor (365,25 * (y 4716)) + Math.floor (30,6001 * (m +1)) + hari + b-1524;

b = 0;
if (jd> 2299160) {
a = Math.floor ((jd-1.867.216,25) / 36.524,25);
b = 1 + a-Math.floor (a / 4.);
}
bb = jd + 1524 b;
cc = Math.floor ((bb-122.1) / 365,25);
dd = Math.floor (365,25 cc *);
d. = Math.floor ((bb-dd) / 30,6001);
hari = (bb-dd)-Math.floor (30,6001 ee *);
bulan = ee-1;
if (ee> 13) {
cc + = 1;
bulan = ee-13;
}
=-cc tahun 4716;

wd = gmod (+1,7 jd) +1;

iyear = 10631./30.;
epochastro = 1948084;
epochcivil = 1948085;

shift1 = 8.01/60.;

z = jd-epochastro;
Cyc = Math.floor (z/10631.);
z = z-10631 * Cyc;
j = Math.floor ((z-shift1) / iyear);
iy = 30 * Cyc + j;
z = z-Math.floor (* iyear j + shift1);
im = Math.floor ((z 28,5001) / 29,5);
if (== im 13) im = 12;
id = z-Math.floor (29,5001 im *-29);

myRes var = new Array (8);

myRes [0] hari =; / / hari dihitung (CE)
myRes [1] = bulan-1; / / bulan dihitung (CE)
myRes [2] tahun =; / / tahun dihitung (CE)
myRes [3] = jd-1; / / jumlah hari julian
myRes [4] = wd-1; / / jumlah hari kerja
myRes [5] = id; / / Tanggal syariah
myRes [6] = im-1; / bulan / syariah
myRes [7] iy =; / tahun / syariah

kembali myRes;
}
fungsi writeIslamicDate (penyesuaian) {
wdNames var = new Array (“Ahad”, “Senin”, “Selasa”, “Rabu”, “Kamis”, “Jum’at”, “Sabtu”);
iMonthNames var = new Array (“Muharram”, “Safar”, “Rabi’ul Awwal”, “Rabi’ul Awal”,
“Jumadal Ula”, “Akhira Jumadal”, “Rajab”, “Sya’ban”,
“Ramadhan”, “Syawal”, “Dzul Qa’ada”, “Dhul Hijja”);
Idate kuwaiticalendar = var (penyesuaian);
outputIslamicDate var = wdNames [Idate [4]] + “,”
+ Idate [5] + “” + iMonthNames [Idate [6]] + “” + Idate [7] + “AH”;
kembali outputIslamicDate;
}
Contoh output
Berikut adalah contoh output dari script di atas (fungsi writeIslamicDate) tanpa penyesuaian Tanggal:

Selasa, 8 Muharram 1432 AH

Kode:

document.write (writeIslamicDate ());
Di bawah ini adalah dengan penyesuaian tanggal 1 (maju satu hari):

Rabu, 9 Muharram 1432 AH

Kode:

document.write (writeIslamicDate (1));

Download

Filed under: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: