اذهب إلى المحتوى
  • 0

تحويل التاريخ من ميلادي الى هجري والعكس

علي العبدالله

السؤال

Recommended Posts

  • 2

يمكنك استخدم الحزمة HijriDateLib لتحويل التواريخ الهجرية إلى Gregorian 

أولًا يجب تضمين ملف المكتبة في ملف php هكذا:

<?php require_once('hirji.class.php');
echo (new hijri\datetime());

يعرض: 8 شعبان 1436هـ

ويوجد العديد من الدوال بحيث يمكنك التحويل بين التواريخ المختلفة فمثلاً 

  • GregorianToHijri تحويل من التقويم الجريجوري (المعمول به حاليا في جميع الدول) إلى التقويم الهجري
  • HijriToGregorian تحويل من التقويم الهجري إلى الجريجوي

مميزات هذه المكتبة

  • التقويم الاصطلاحي في المكتبة مطابق تماما للتقويم المتعارف عليه عند الفلكيين ومطابق للتقويم عند شركة مايكروسوفت في جميع برامجها، ومطابق لكتاب تقويم القرون للفلكي صالح العجيري
  • إمكانية حفظ واسترجاع تعديلات على التقويم بحيث تتناسب مع إعلان رمضان والأعياد وغير ذلك، ويتم حفظ هذه التعديلات وليست مؤقتة بحيث أن ما نشر في تاريخ معين يبقى بهذا التاريخ حتى بعد سنين.
  • الجمع بين التقويمين الميلادي والهجري في سطر واحد من البرمجة مما يوفر ويضبط.
  • استعمال مكتبة datetime التي تقوم بضبط فروق التوقيت تلقائيا.
  • عرض التقويم الميلادي باللغة العربية في حالة اختيارها.
  • دعم 20 لغة عالمية في أسماء الأشهر الهجرية.
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكن تحويل التواريخ بلغة PHP باستخدام دالة التحويل المدمجة في PHP والتي تسمى "date"، من خلال تحديد تنسيق التاريخ الذي يتم تحويله باستخدام الأحرف المحددة.

لتحويل تاريخ ميلادي إلى تاريخ هجري، يمكن استخدام دالة "HijriDate" المدمجة في PHP.

حيث يتم تمرير تاريخ الميلادي الذي يجب تحويله كوسيط، ويتم تحديد اليوم والشهر والسنة المناسبة للتاريخ الهجري المحول. يمكنك استخدام الكود التالي:

// تاريخ ميلادي للتحويل
$miladi_date = '2023-04-11';

// تحويل التاريخ الميلادي إلى هجري
$hijri_date = date('d-m-Y', strtotime($miladi_date));
$hijri_date = HijriDate('d-m-Y', strtotime($miladi_date));

// طباعة التاريخ الهجري
echo 'التاريخ الهجري: '.$hijri_date;

ولتحويل تاريخ هجري إلى ميلادي، يمكن استخدام الدالة "HijriToJD" لتحويل التاريخ الهجري إلى عدد الأيام منذ التاريخ اليولياني الأول (1 يناير 4713 قبل الميلاد)، ومن ثم استخدام دالة "JDToGregorian" لتحويل عدد الأيام إلى تاريخ ميلادي.

 يمكنك استخدام الكود التالي:

// تاريخ هجري للتحويل
$hijri_date = '1444-08-01';

// تحويل التاريخ الهجري إلى ميلادي
$hijri_jd = HijriToJD( explode('-', $hijri_date)[1], explode('-', $hijri_date)[2], explode('-', $hijri_date)[0]);
$miladi_jd = $hijri_jd - 2400000.5;
$miladi_date = JDToGregorian($miladi_jd);

// طباعة التاريخ الميلادي
echo 'التاريخ الميلادي: '.$miladi_date;
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

تعتبر geniusts/hijri-dates عبارة عن مكتبة جاهزة في لغة PHP تساعد في تحويل التواريخ الميلادية إلى هجرية والعكس.

لتستخدم المكتبة، يجب أولاً تنزيلها باستخدام Composer باستخدام الأمر:

composer require geniusts/hijri-dates

ثم يمكن استخدام هذه المكتبة في برنامج PHP باستخدام المثال التالي:

<?php
// تحويل التاريخ الميلادي إلى هجري
$gdate = new \DateTime('2021-05-01');
$hdate = \GeniusTS\HijriDate\Date::fromDateTime($gdate);
echo $hdate->format('l j F Y') . "\n"; // يطبع "السبت 19 رمضان 1442"

// تحويل التاريخ الهجري إلى ميلادي
$hdate = new \GeniusTS\HijriDate\Hijri('1442-09-07');
$gdate = $hdate->toCarbon();
echo $gdate->format('l jS F Y') . "\n"; // يطبع "Saturday 17th April 2021"
?>

في المثال أعلاه، قمنا بتحويل التاريخ الميلادي 2021-05-01 إلى هجري وطباعة النتيجة، ومن ثم تحويل التاريخ الهجري 1442-09-07 إلى ميلادي وطباعة النتيجة. يمكن تغيير التواريخ والتنسيقات وفقاً للاحتياجات الخاصة بك.

ويمكنك  تصفح المكتبة لمعرفة تفاصيل أكثر من هنا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...