الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

التاريخ الهجري و الميلادي

Featured Replies

بتاريخ:

السلام عليكم و رحمة الله 

هذه اول مواضيعي اسال الله تعالى ان ينفعني و اياكم بها.

 

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

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

select to_char(sysdate,'dd/mm/yyyy','nls_calendar =''arabic hijrah''') from dual

حيث نجد اختلاف يوم او يومين فمثلا يوم 13 صفر 1437 

عند تحويله باستخدام المعادلة السابقة فالناتج يكون :

12/02/1438

 

و لكن الصحيح ان التاريخ الهجري المقابل للتاريخ الميلادي 13/11/2016 هو13/02/1438.

 

و افضل طريقة حسب ما اعرف و قرات هو الاحتفاظ بالتاريخ الهجري في قاعدة البيانات كما هو دون الاعتماد على معادلات اوراكل.

 

 الطريقة التي اعتمدت عليها :

 

 #  انشاء جدول 

Create table Ar_convert_date (convert_id number , Hj_date    varchar2(10) , G_date varchar2(10))

 

# عمل شيت اكسيل بنفس شكل الجدول و يبدا التاريخ الميلادي من 01/01/2015 و حتى 01/01/2050

# تحت Hj_date في الاكسيل نكتب معادلة تحويل الهجري و هي:

=text(G_date,"b2dd/mm/yyyy")

# في عمود جديد في الاكسيل نكتب معادلة التاريخ الميلاد و تكون :

=text(G_date,"dd/mm/yyyy")

 

#بعد ذلك نقوم بنسخ الثلاثة اعمدة : Convert_id , Hj_date , العمود الاخيرالرابع

 

# لصق القيم فقط Paste Values في شيت جديد

 

# بعد هذا يمكن استيراد البيانات مباشرة الى اوراكل باستخدام الTOAD و ان كنت افضل الاستيراد باستخدام جملة INSERT

 

# طبعا لن ارهقكم في كتابة جملة INSERT  عدد 12866 مرة و هذا مستحيل

 

# نقوم بكتابة جملة INSERT في الاكسيل كما هو مرفق ثم عمل نسخ و لصق للقيم فقط Paste Values 

 

#نسخ جملة INSERT الى متصفح Browser من خلال الدخول الى 

http://localhost:5560/isqlplus/workspace.uix

كما هو معروف و عمل Execute

و بهذا تم ادراج جميع التواريخ الميلادي (01/01/2015 حتى 01/01/2050) و الهجري (11/03/136 - 08/04/1472) في الفترة المحددة .

 

 

#الخطوة التالية تكون عمل Function او Procedure

 

باقي الملفات في الرابط التالي بسب ان حجمها تجاوز ال 1 ميجا.

 

https://drive.google.com/open?id=0B2PUacEN7OKGbXZxRGxLRUU5anM

CONV_DATE_Function.txt

Create Table.txt

بتاريخ:

مشكور على مجهودك الرائع ..

 

لكن من وجهة نظري إن كلاً من أوراكل وميكروسوفت يستخدمان خوارزميات معينة للتنبؤ بالتاريخ الهجري وتعتبر كافة برامج وخدمات تحويل التأريخ بهذه الطريقة غير دقيق 100%  بل قد يزيد أو ينقص بمقدار 1 الى 2 يوم على الأقل ...

 

وننصح بالرجوع الى تقويم أم القرى الموضوع من هذا الرلبط 

 

اضافة ...

كما أن هناك ملف جاهز لتحديد التأريخ بطريقة رائعة في نفس الموضوع المشار اليه أعلاه تحميل الملف مباشرة من هنا 

تم تعديل بواسطة Faisal Matari

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

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

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.