26-03-23, 11:17 AM
26-03-23, 12:19 PM
وعليكم السلام ورحمة الله وبركاته.
يمكنك استخدام مكتبة الوقت (Datetime) في لغة البرمجة التي تستخدمها لعرض التاريخ الهجري. في معظم اللغات الشائعة، توفر هذه المكتبة دعمًا للتحويل بين التقويمين الميلادي والهجري.
وفيما يلي مثال بسيط باستخدام Python:
import datetime
import hijri_converter
today = datetime.datetime.today().date()
hijri_date = hijri_converter.Gregorian(today.year, today.month, today.day).to_hijri()
print("التاريخ الهجري:", hijri_date)
يتم استخدام datetime.datetime.today() للحصول على التاريخ والوقت الحاليين، ثم يتم استخدام hijri_converter.Gregorian() لتحويل التاريخ الميلادي إلى التاريخ الهجري، وأخيرًا يتم طباعة التاريخ الهجري باستخدام print().
يرجى ملاحظة أنه قد يكون هناك اختلاف في طريقة التحويل بين لغة البرمجة المختلفة، وقد تتطلب بعض اللغات استخدام مكتبات إضافية.
يمكنك استخدام مكتبة الوقت (Datetime) في لغة البرمجة التي تستخدمها لعرض التاريخ الهجري. في معظم اللغات الشائعة، توفر هذه المكتبة دعمًا للتحويل بين التقويمين الميلادي والهجري.
وفيما يلي مثال بسيط باستخدام Python:
import datetime
import hijri_converter
today = datetime.datetime.today().date()
hijri_date = hijri_converter.Gregorian(today.year, today.month, today.day).to_hijri()
print("التاريخ الهجري:", hijri_date)
يتم استخدام datetime.datetime.today() للحصول على التاريخ والوقت الحاليين، ثم يتم استخدام hijri_converter.Gregorian() لتحويل التاريخ الميلادي إلى التاريخ الهجري، وأخيرًا يتم طباعة التاريخ الهجري باستخدام print().
يرجى ملاحظة أنه قد يكون هناك اختلاف في طريقة التحويل بين لغة البرمجة المختلفة، وقد تتطلب بعض اللغات استخدام مكتبات إضافية.
26-03-23, 01:19 PM
شكرا جزيلا لاهتمامكم و لكن ماذا عن الكود بلغة VB.NET ؟
هل يمكنك إعطائى مثالا لذلك ؟
هل يمكنك إعطائى مثالا لذلك ؟
26-03-23, 02:04 PM
بالطبع، أستطيع توفير مثال بلغة VB.NET. يمكنك إستخدام الكود التالي لعرض التاريخ الهجري:
هنا يتم استخدام NodaTime و NodaTime.Calendars لتحويل التاريخ الميلادي إلى التاريخ الهجري. تستخدم الدالة hijriCalendar.GetYearMonthDay(today) لتحويل التاريخ الميلادي إلى التاريخ الهجري وأخيرًا يتم طباعة التاريخ الهجري باستخدام Console.WriteLine().
هذا هو الكود الذي ستستخدمه لعرض التاريخ الهجري بلغة VB.NET. على الرغم من أنه يعمل بشكل صحيح، قد تحتاج إلى التعديل عليه بحسب متطلبات التطبيق الخاص بك. هناك بعض المكتبات الأخرى التي يمكن أن تساعد في التحويل بين التقويمين، كما يمكن أن تكون هناك طريقة أخرى للقيام بهذا المهمة بلغة VB.NET. ومع ذلك، يعتبر هذا الكود مثالًا على كيفية عرض التاريخ الهجري في VB.NET.
كود :
Imports System
Imports NodaTime
Imports NodaTime.Calendars
Module Module1
Sub Main()
Dim hijriCalendar = HijriCalendar.IslamicCivil
Dim today = SystemClock.Instance.GetCurrentInstant().InUtc().ToDateTimeUtc().Date
Dim hijriDate = hijriCalendar.GetYearMonthDay(today)
Console.WriteLine("التاريخ الهجري: " & hijriDate.Year & "/" & hijriDate.Month & "/" & hijriDate.Day)
Console.ReadLine()
End Sub
End Moduleهنا يتم استخدام NodaTime و NodaTime.Calendars لتحويل التاريخ الميلادي إلى التاريخ الهجري. تستخدم الدالة hijriCalendar.GetYearMonthDay(today) لتحويل التاريخ الميلادي إلى التاريخ الهجري وأخيرًا يتم طباعة التاريخ الهجري باستخدام Console.WriteLine().
هذا هو الكود الذي ستستخدمه لعرض التاريخ الهجري بلغة VB.NET. على الرغم من أنه يعمل بشكل صحيح، قد تحتاج إلى التعديل عليه بحسب متطلبات التطبيق الخاص بك. هناك بعض المكتبات الأخرى التي يمكن أن تساعد في التحويل بين التقويمين، كما يمكن أن تكون هناك طريقة أخرى للقيام بهذا المهمة بلغة VB.NET. ومع ذلك، يعتبر هذا الكود مثالًا على كيفية عرض التاريخ الهجري في VB.NET.
26-03-23, 03:07 PM
ولكن الفضاء nodatime لا يوجد فهل علينا إضافة refrence معين؟
28-03-23, 07:20 AM
ولكن الفضاء nodatime لا يوجد فهل علينا إضافة refrence معين؟
28-03-23, 09:30 AM
وعليكم السلام ورحمة الله وبركاته
لا تحتاج أن تستخدم أي مكتبات خارج نطاق الدوت نت..
فقط ما تحتاجه حيلة بسيطة، أن تطلب التاريخ بإعدادت دولة معينة..
مثلاً : نعرف أن السعودية تعتمد التاريخ الهجري، لذا سنقوم بطلب التاريخ بحسب إعدادات المملكة..
- استيراد المكتبة :
- ثم الكود، ((لأجل التبسيط حولنا الكود لفانكشن عام)) يقوم بالعملية بمجرد استدعاءه دون الحاجة لتكرر الأكواد :
- طريقة الاستدعاء : نسند لـ اللفانكشن متغير من نوع (DateTime) ..
مثلا تاريخ اليوم بالهجري سيكون :
وفقك الله ..
لا تحتاج أن تستخدم أي مكتبات خارج نطاق الدوت نت..
فقط ما تحتاجه حيلة بسيطة، أن تطلب التاريخ بإعدادت دولة معينة..
مثلاً : نعرف أن السعودية تعتمد التاريخ الهجري، لذا سنقوم بطلب التاريخ بحسب إعدادات المملكة..
- استيراد المكتبة :
كود :
Imports System.Globalization- ثم الكود، ((لأجل التبسيط حولنا الكود لفانكشن عام)) يقوم بالعملية بمجرد استدعاءه دون الحاجة لتكرر الأكواد :
كود :
Public Function GetHijriDate(pDate As DateTime) As String
Dim ci As CultureInfo = CultureInfo.GetCultureInfo("ar-SA")
Return pDate.ToString("yyyy/MM/dd", ci)
End Function- طريقة الاستدعاء : نسند لـ اللفانكشن متغير من نوع (DateTime) ..
مثلا تاريخ اليوم بالهجري سيكون :
كود :
Label1.Text = GetHijriDate(Today)وفقك الله ..
28-03-23, 10:21 AM
نعم، عذرًا على عدم التوضيح. لاستخدام مكتبة NodaTime في مشروع VB.NET، يجب عليك تثبيت الحزمة أولاً. يمكنك تثبيت حزمة NodaTime باستخدام NuGet Package Manager.
لتثبيت الحزمة عبر NuGet Package Manager Console، اتبع الخطوات التالية:
أحسنت! هذا الأسلوب يستخدم مكتبة الثقافة واللغة المدمجة (System.Globalization) في .NET للحصول على التاريخ الهجري بناءً على إعدادات الثقافة الخاصة بالسعودية، والتي تعتمد التاريخ الهجري. إليك توضيح الكود المقدم:
هذا الأسلوب لا يتطلب تثبيت مكتبات خارجية ويعتمد على المكتبات المدمجة في .NET Framework. إذا كنت تفضل استخدام هذا الأسلوب، يمكنك تجاهل تثبيت مكتبة NodaTime واستخدام الكود المقدم أعلاه.
لتثبيت الحزمة عبر NuGet Package Manager Console، اتبع الخطوات التالية:
- في بيئة Visual Studio، انقر فوق "Tools" ثم اختر "NuGet Package Manager" وبعد ذلك انقر فوق "Package Manager Console".
- قم بكتابة الأمر التالي في Package Manager Console واضغط على Enter:
PHP كود :
Install-Package NodaTime
- 3. بعد تثبيت الحزمة بنجاح، سيتم إضافة مرجع لمكتبة NodaTime إلى مشروعك تلقائيًا.4. الآن يمكنك استخدام مكتبة NodaTime في كود VB.NET الخاص بك.
(28-03-23, 09:30 AM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
لا تحتاج أن تستخدم أي مكتبات خارج نطاق الدوت نت..
فقط ما تحتاجه حيلة بسيطة، أن تطلب التاريخ بإعدادت دولة معينة..
مثلاً : نعرف أن السعودية تعتمد التاريخ الهجري، لذا سنقوم بطلب التاريخ بحسب إعدادات المملكة..
- استيراد المكتبة :
كود :
Imports System.Globalization
- ثم الكود، ((لأجل التبسيط حولنا الكود لفانكشن عام)) يقوم بالعملية بمجرد استدعاءه دون الحاجة لتكرر الأكواد :
كود :
Public Function GetHijriDate(pDate As DateTime) As String
Dim ci As CultureInfo = CultureInfo.GetCultureInfo("ar-SA")
Return pDate.ToString("yyyy/MM/dd", ci)
End Function
- طريقة الاستدعاء : نسند لـ اللفانكشن متغير من نوع (DateTime) ..
مثلا تاريخ اليوم بالهجري سيكون :
كود :
Label1.Text = GetHijriDate(Today)
وفقك الله ..
أحسنت! هذا الأسلوب يستخدم مكتبة الثقافة واللغة المدمجة (System.Globalization) في .NET للحصول على التاريخ الهجري بناءً على إعدادات الثقافة الخاصة بالسعودية، والتي تعتمد التاريخ الهجري. إليك توضيح الكود المقدم:
- قم باستيراد مكتبة System.Globalization:
PHP كود :
Imports System.Globalization
- 2.يتم إنشاء دالة GetHijriDate لتحويل تاريخ DateTime إلى تاريخ هجري وتحويله إلى نص:
PHP كود :
Public Function GetHijriDate(pDate As DateTime) As String
Dim ci As CultureInfo = CultureInfo.GetCultureInfo("ar-SA")
Return pDate.ToString("yyyy/MM/dd", ci)
End Function
- 3.استخدم الدالة للحصول على تاريخ اليوم بالتقويم الهجري وعرضه في عنصر واجهة المستخدم (مثل Label) كما يلي:
PHP كود :
Label1.Text = GetHijriDate(Today)
هذا الأسلوب لا يتطلب تثبيت مكتبات خارجية ويعتمد على المكتبات المدمجة في .NET Framework. إذا كنت تفضل استخدام هذا الأسلوب، يمكنك تجاهل تثبيت مكتبة NodaTime واستخدام الكود المقدم أعلاه.
30-03-23, 12:49 PM
شكرا جزيلا
07-12-23, 01:32 PM
(26-03-23, 02:04 PM)sanyor77 كتب : [ -> ]بالطبع، أستطيع توفير مثال بلغة VB.NET. يمكنك إستخدام الكود التالي لعرض التاريخ الهجري:كود ملئ بالأخطاء
كود :
Imports System
Imports NodaTime
Imports NodaTime.Calendars
Module Module1
Sub Main()
Dim hijriCalendar = HijriCalendar.IslamicCivil
Dim today = SystemClock.Instance.GetCurrentInstant().InUtc().ToDateTimeUtc().Date
Dim hijriDate = hijriCalendar.GetYearMonthDay(today)
Console.WriteLine("التاريخ الهجري: " & hijriDate.Year & "/" & hijriDate.Month & "/" & hijriDate.Day)
Console.ReadLine()
End Sub
End Module
هنا يتم استخدام NodaTime و NodaTime.Calendars لتحويل التاريخ الميلادي إلى التاريخ الهجري. تستخدم الدالة hijriCalendar.GetYearMonthDay(today) لتحويل التاريخ الميلادي إلى التاريخ الهجري وأخيرًا يتم طباعة التاريخ الهجري باستخدام Console.WriteLine().
هذا هو الكود الذي ستستخدمه لعرض التاريخ الهجري بلغة VB.NET. على الرغم من أنه يعمل بشكل صحيح، قد تحتاج إلى التعديل عليه بحسب متطلبات التطبيق الخاص بك. هناك بعض المكتبات الأخرى التي يمكن أن تساعد في التحويل بين التقويمين، كما يمكن أن تكون هناك طريقة أخرى للقيام بهذا المهمة بلغة VB.NET. ومع ذلك، يعتبر هذا الكود مثالًا على كيفية عرض التاريخ الهجري في VB.NET.