السلام عليكم ورحمة الله وبركاته
مرفق مثال للتعامل مع التاريخ الهجري في اضافة اسم اليوم حسب التاريخ
مع زيادة عدد الايام واحتساب الفرق
واظهار اسم اليوم بعد الزيادة
آمل التعديل على المثال مع العلم ان في المثال توضيح للمطلوب
قم باستبدال كود منطقة
DateTimePicker1_ValueChanged
بالكود التالى
كود :
Dim dateGregorian As Date = DateTimePicker1.Text
Dim Y As String = dateGregorian.Year
Dim M As String = dateGregorian.Month
Dim D As String = dateGregorian.Day
Dim ci As New Globalization.CultureInfo("ar-SA")
Dim dateHijri As New DateTime(Y, M, D)
Dim NameDay As String = dateHijri.ToString("ddd", ci)
lblDayName.Text = NameDay
'---إضافة عدد الايام للتاريخ الجديد
lblDateAddDay.Text = DateTimePicker1.Value.AddDays(+txtAddDates.Text)
تحياتى لك
وتمنياتى لك التوفيق
جزاك الله خير على المشاركة
ولكن في اداة DateTimePicker يظهر تاريخ اليوم ومقابلة اليوم صحيح
على سبيل المثال يوم 1439/10/10 يوافق يوم الاحد
وبعد تنفيذ الكود اعطاني ويم السبت
//////
وايظاً التاريخ بعد الزيادة اعطاني التاريخ بتنسيق 11/11/1439
والمطلوب 1439/11/11
\\\\\\
ولم يعطني اسم اليوم المقابل له
بالنسبة للاخير اضفت
lblDateAddDay.Text = DateTimePicker1.Value.AddDays(+txtAddDates.Text).ToString("yyyy/MM/dd")
ومشي الحال
ايظاً الفقرة الاولى تم حلها
dim dateGregorian as Date = me.DateTimePicker1.Value
كانت
dim dateGregorian as Date = me.DateTimePicker1.Value.AddDays(-1)
(30-05-18, 11:38 AM)aftfm كتب : [ -> ]جزاك الله خير على المشاركة
ولكن في اداة DateTimePicker يظهر تاريخ اليوم ومقابلة اليوم صحيح
على سبيل المثال يوم 1439/10/10 يوافق يوم الاحد
وبعد تنفيذ الكود اعطاني ويم السبت
//////
وايظاً التاريخ بعد الزيادة اعطاني التاريخ بتنسيق 11/11/1439
والمطلوب 1439/11/11
\\\\\\
ولم يعطني اسم اليوم المقابل له
بالنسبة للاخير اضفت
lblDateAddDay.Text = DateTimePicker1.Value.AddDays(+txtAddDates.Text).ToString("yyyy/MM/dd")
ومشي الحال
ايظاً الفقرة الاولى تم حلها
dim dateGregorian as Date = me.DateTimePicker1.Value
كانت
dim dateGregorian as Date = me.DateTimePicker1.Value.AddDays(-1)
بخصوص الخطاء الذى كان يحدث عند عرض اليوم
كان السبب فى استخدام hijri حيث يظهر التاريخ يزيد 1000 وكسور عام
لاكتشافي ذلك حولت الجزء الخاص السطر (dddd) الى (yyyy/MM/dd)
حتى يظهر التاريخ كاملاً بدلاً من اليوم كتابتاً
لذلك قمت بتغيير نمط استخدام التاريخ بالجزء
كود :
Dim NameDay As String = dateHijri.ToString("ddd", ci)
ومن ثم يحب جعل قيمة افتراضية فى
حتى لا تظهر اى اخطاء عند استخدام المستخدم بدون ان يزيد اى ارقام
لذلك قم بجعل قيمته 0
وبالنهاية بخصوص
بعد عمل زيادة بالتاريخ لعدد الايام يجب اظهار اليوم
كل ما تحتاجه هو
استخدم نفس الكود
كود :
DateTimePicker1.Value.AddDays(Val(txtAddDates.Text))
لكن مع اضافة بسيطة فقط ليصبح
كود :
DateTimePicker1.Value.AddDays(Val(txtAddDates.Text)).ToString("ddd")
وهذا لقيمة اليوم بعد الاخر
تحياتى لك
وتمنياتى لك التوفيق