الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب كود لعرض التاريخ الهجري ويوافقه التاريخ الميلادي

بدأه ahmad__0 في 26 أغسطس 2011 · 1 رد · 1,382 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم..

كل عام وانتم بخير....

أود الحصول على دالة - كود يعرض التاريخ بهذه الصيغة

الجمعة, 26 رمضان 1432 هـ الموافق لـ : 26 أغسطس 2011

استخدمت اكثر من دالةو ولم أنجح

<?php 

//***********************************
//**فكرة وبرمجة حسام المصري
//**دالة التاريخ بالعربي
//**السنة
$y=date('Y');
//**الشهر بالرقم
$m=date('m');
//**اليوم بالانجليزي
$d=date('D');
//**اليوم بالرقم
$dnum=date('d');
//** استبدال اليوم الانجليزي بالعربي
if($d=='Sat'){$da='السبت';}
elseif($d=='Sun'){$da='الأحـد';}
elseif($d=='Mon'){$da='الأثنين';}
elseif($d=='Tue'){$da='الثلاثاء';}
elseif($d=='Wed'){$da='الأربعاء';}
elseif($d=='Thu'){$da='الخميس';}
elseif($d=='Fri'){$da='الجمعة';}
//**طباعة التاريخ في النهاية
$date= $da." ".$dnum."-".$m."-".$y;
//**شكل التاريخ
//**الأربعاء 25-02-2009 
//*********************************** 
echo $date;
?>

و

<?
//**السنة
$y=date('Y');
//**الشهر بالرقم
$m=date('m');
//**الشهر بالرقم
//**اليوم بالانجليزي
$d=date('D');
//**اليوم بالرقم
$dnum=date('d');
$t=date ("H:j");
//** استبدال اليوم الانجليزي بالعربي
if($d=='Sat'){$da='السبت';}
elseif($d=='Sun'){$da='الأحـد';}
elseif($d=='Mon'){$da='الأثنين';}
elseif($d=='Tue'){$da='الثلاثاء';}
elseif($d=='Wed'){$da='الأربعاء';}
elseif($d=='Thu'){$da='الخميس';}
elseif($d=='Fri'){$da='الجمعة';}
if($m=='01'){$dm='يجانفي';}
elseif($m=='02'){$dm='فيفري';}
elseif($m=='03'){$dm='مارس';}
elseif($m=='04'){$dm='أفريل';}
elseif($m=='05'){$dm='ماي';}
elseif($m=='06'){$dm='جوان';}
elseif($m=='07'){$dm='جويلية';}
elseif($m=='08'){$dm='أوت';}
elseif($m=='09'){$dm='سيبتمبر';}
elseif($m=='10'){$dm='أوكتوبر';}
elseif($m=='11'){$dm='نوفومبر';}
elseif($m=='12'){$dm='ديسمبر';}
//**طباعة التاريخ في النهاية
$date= $da." ".$dnum. " ".$dm. " ".$y;
echo "يوم" . " ".$date. " ". "|" . " ". "الساعة:".$t;
?>

تحياتي لكم.

#2
اقتباس

استخدمت اكثر من دالةو ولم أنجح

جربت استخدام الكودات الأجنبية فهي تعطيك التاريخ الهجري بالإنجليزي و يمكنك بعد ذلك تحويله إلى العربي.

وجدت أثناء البحث أيضاً كود جافا سكربت بفارق يوم واحد عن الواقع و لكن في هذه الحالات يمكن مداركة ذلك كما يلي :

يتم استخدامه كالتالي:

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

function kuwaiticalendar(adjust){
	var today = new Date();
	if(adjust) {
		adjustmili = 1000*60*60*24*adjust; 
		todaymili = today.getTime()+adjustmili;
		today = new Date(todaymili);
	}
	day = today.getDate();
	month = today.getMonth();
	year = today.getFullYear();
	m = month+1;
	y = year;
	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(day>4) b = -10;
		}
	}

	jd = Math.floor(365.25*(y+4716))+Math.floor(30.6001*(m+1))+day+b-1524;

	b = 0;
	if(jd>2299160){
		a = Math.floor((jd-1867216.25)/36524.25);
		b = 1+a-Math.floor(a/4.);
	}
	bb = jd+b+1524;
	cc = Math.floor((bb-122.1)/365.25);
	dd = Math.floor(365.25*cc);
	ee = Math.floor((bb-dd)/30.6001);
	day =(bb-dd)-Math.floor(30.6001*ee);
	month = ee-1;
	if(ee>13) {
		cc += 1;
		month = ee-13;
	}
	year = cc-4716;

	if(adjust) {
		wd = gmod(jd+1-adjust,7)+1;
	} else {
		wd = gmod(jd+1,7)+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(j*iyear+shift1);
	im = Math.floor((z+28.5001)/29.5);
	if(im==13) im = 12;
	id = z-Math.floor(29.5001*im-29);

	var myRes = new Array(8);

	myRes[0] = day; //calculated day (CE)
	myRes[1] = month-1; //calculated month (CE)
	myRes[2] = year; //calculated year (CE)
	myRes[3] = jd-1; //julian day number
	myRes[4] = wd-1; //weekday number
	myRes[5] = id; //islamic date
	myRes[6] = im-1; //islamic month
	myRes[7] = iy; //islamic year

	return myRes;
}
function writeIslamicDate(adjustment) {
	var wdNames = new Array("Ahad","Ithnin","Thulatha","Arbaa","Khams","Jumuah","Sabt");
	var iMonthNames = new Array("Muharram","Safar","Rabi'ul Awwal","Rabi'ul Akhir",
	"Jumadal Ula","Jumadal Akhira","Rajab","Sha'ban",
	"Ramadan","Shawwal","Dhul Qa'ada","Dhul Hijja");
	var iDate = kuwaiticalendar(adjustment);
	var outputIslamicDate = wdNames[iDate[4]] + ", " 
	+ iDate[5] + " " + iMonthNames[iDate[6]] + " " + iDate[7] + " AH";
	return outputIslamicDate;
}

في المكان الذي تريد أن تعرضه تضع العبارة التالية:

document.write(writeIslamicDate(تحدد هنا عدد الأيام التي تفرقنا عن التاريخ الصحيح));

مثال :: في حال وجود خطأ بيوم زيادة:

document.write(writeIslamicDate(-1));

و يمكنك بالتعديل على الكود أن يظهر التاريخ بالعربي .

المصدر http://www.al-habib....alendartext.htm

تم تعديل هذه المشاركة بواسطة yahya91 في 27 أغسطس 2011 في 12:47

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…