تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في تنسيق التاريخ عند توزيع البرنامج على المستخدمين
#1
الرجاء من الاخوة الكرام جعلت في البرنامج اداة التاريخ تنسيقها  ("Date.Now.ToString("dd/MM/yyyy وعندما يكون التاريخ في الحاسوب MM/dd/yyyy يعطي رسالة خطا
ما الحل هل يجب الغاء التنسيق وجعله الافتراضي وشكرا
الرد }}}
تم الشكر بواسطة:
#2
أخي خير الله

يجب الإهتمام في تنسيق التاريخ خصوصا أماكن اليوم والشهر،
ففي بعض الدول يكون التاريخ يبدأ بالشهر مثل MM/dd/yyyy وأغلبية الدول تبدأ باليوم dd/MM/yyyy

بالنسبة إلى ("Date.Now.ToString("dd/MM/yyyy فلا توجد مشكلة

المشكلة تحدث عندما يكون تنسيق النظام MM/dd/yyyy وتريد تحويل تاريخ نصي مثل "30/12/2018" بالأمر CDate

وبما أن مشروعك قد يعمل في دول تختلف عن ما تعمل عليه في جهازك فعليك بالأمر Date.ParseExact

الأمر Date.ParseExact يوضح للتحويل بحيث يأخذ التنسيق الذي لدينا ويحوله إلى نوع تاريخ مثل
PHP كود :
Dim d As Date Date.ParseExact("30/12/2018""dd/MM/yyyy"Globalization.CultureInfo.InvariantCulture
قد تبدو العملية طويلة، ولكن فيه الحل من أجل التحويل بشكل التنسيق الذي عليه التاريخ النصي،

تستطيع عمل دالة خاصة تخدم عملك في المشروع فتريحك من كتابة هذا السطر الطويل مثل
PHP كود :
Public Function GetDate(stringDate As String) As Date
    Dim provider 
Globalization.CultureInfo.InvariantCulture
    Return Date
.ParseExact(stringDate"dd/MM/yyyy"provider)
End Function 

وكل ما عليك هو أن ترسل للدالة الخاصة له التاريخ النصي ليعيده لك بنوع تاريخ مثل
PHP كود :
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
    Dim d 
As Date GetDate("30/12/2018")
 
   MsgBox(d.ToString)
End Sub 


أخي خير الله
إن كان لديك استفسار في هذا الكود فأخبرني
الرد }}}
#3
مشكور اخ الكريم على اهتمامك
الرد }}}
تم الشكر بواسطة: الحازمي , ابراهيم ايبو , asemshahen5



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم