تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة عند تحويل المتغير الي تاريخ
#1
السلام عليكم ورحمة الله 

لدي ملف نصي بية حقل للتاريخ اقوم باستيراد البيانات منة 

الصيغة للتاريخ بالملف  


١٤٤٢/٠٨/٠٨ ٢:٣٨ ص

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

حاولت الكود بالشكل التالي : ولم يرجع لي بالتاريخ نهائيا ما المشكلة

كود :
 Dim iString As String = "١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"
                               Dim myDate As DateTime = CDate(iString)
                               Dim myDatea As DateTime = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt", Nothing)
                               Dim myDateb As DateTime = DateTime.Parse(iString)
                               Dim dta As DateTime = DateTime.ParseExact(iString, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.GetCultureInfo("ar-sa"))
                               Dim dtb As DateTime = DateTime.Parse(iString).ToString("dd-MM-yyyy HH:mm:ss tt")
                               Dim culture As CultureInfo = New CultureInfo("ar-sa")
                               Dim tempDate As DateTime = Convert.ToDateTime(iString, culture)

                               MsgBox(tempDate)


و يظهر الخطاء

Conversion From String To Type '"١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"' Is Not Valid
الرد
تم الشكر بواسطة:
#2
وعليكم السلام
ما يتعرف على هذا المدخل كتاريخ يمكن لان الادخال عربي , غير القيمة للحروف الانكليزية واستخدم دالة فحص المتغير اذا كان تاريخ ام لا .
انت مستخدم هواي متغيرات ماعرف السبب

شوف الكود بعد التعديل


PHP كود :
 Try
            Dim NewDate 
As String ""
 
           Dim iString As String " 08/08/1442 02:38 AM "
 
           If IsDate(iStringThen
                NewDate 
CDate(iString).ToString("yyyy/MM/dd")
 
           Else
                MsgBox
("القيمة المدخلة ليست تاريخ")
 
               Return
            End 
If
 
           MsgBox(NewDate)
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
       End Try 
الرد
تم الشكر بواسطة: Ronald , احمد 2021
#3
(28-03-21, 04:39 AM)علي بنيان كتب : وعليكم السلام
ما يتعرف على هذا المدخل كتاريخ يمكن لان الادخال عربي , غير القيمة للحروف الانكليزية واستخدم دالة فحص المتغير اذا كان تاريخ ام لا .
انت مستخدم هواي متغيرات ماعرف السبب

شوف الكود بعد التعديل


PHP كود :
 Try
            Dim NewDate 
As String ""
 
           Dim iString As String " 08/08/1442 02:38 AM "
 
           If IsDate(iStringThen
                NewDate 
CDate(iString).ToString("yyyy/MM/dd")
 
           Else
                MsgBox
("القيمة المدخلة ليست تاريخ")
 
               Return
            End 
If
 
           MsgBox(NewDate)
 
       Catch ex As Exception
            MsgBox
(ex.Message)
 
       End Try 

بشكر حضرتك علي الرد فعلا المشكلة بحركة الحروف
الرد
تم الشكر بواسطة:
#4
(27-03-21, 05:20 PM)احمد 2021 كتب : السلام عليكم ورحمة الله 

لدي ملف نصي بية حقل للتاريخ اقوم باستيراد البيانات منة 

الصيغة للتاريخ بالملف  


١٤٤٢/٠٨/٠٨ ٢:٣٨ ص

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

حاولت الكود بالشكل التالي : ولم يرجع لي بالتاريخ نهائيا ما المشكلة

كود :
 Dim iString As String = "١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"
                               Dim myDate As DateTime = CDate(iString)
                               Dim myDatea As DateTime = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt", Nothing)
                               Dim myDateb As DateTime = DateTime.Parse(iString)
                               Dim dta As DateTime = DateTime.ParseExact(iString, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.GetCultureInfo("ar-sa"))
                               Dim dtb As DateTime = DateTime.Parse(iString).ToString("dd-MM-yyyy HH:mm:ss tt")
                               Dim culture As CultureInfo = New CultureInfo("ar-sa")
                               Dim tempDate As DateTime = Convert.ToDateTime(iString, culture)

                               MsgBox(tempDate)


و يظهر الخطاء

Conversion From String To Type '"١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"' Is Not Valid

شكل ارقم ١٢٣٤ لابد يكون 1234
اعمل بتغييرها بطريقه مثل
PHP كود :
Dim iString As String "١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"
iString=iString.replace("٠","0")
iString=iString.replace("١","1")
وهكذا باقي الارقام وحيعمل معاك الكود 
الرد
تم الشكر بواسطة: احمد 2021
#5
(01-04-21, 01:36 AM)Ronald كتب :
(27-03-21, 05:20 PM)احمد 2021 كتب : السلام عليكم ورحمة الله 

لدي ملف نصي بية حقل للتاريخ اقوم باستيراد البيانات منة 

الصيغة للتاريخ بالملف  


١٤٤٢/٠٨/٠٨ ٢:٣٨ ص

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

حاولت الكود بالشكل التالي : ولم يرجع لي بالتاريخ نهائيا ما المشكلة

كود :
 Dim iString As String = "١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"
                               Dim myDate As DateTime = CDate(iString)
                               Dim myDatea As DateTime = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt", Nothing)
                               Dim myDateb As DateTime = DateTime.Parse(iString)
                               Dim dta As DateTime = DateTime.ParseExact(iString, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.GetCultureInfo("ar-sa"))
                               Dim dtb As DateTime = DateTime.Parse(iString).ToString("dd-MM-yyyy HH:mm:ss tt")
                               Dim culture As CultureInfo = New CultureInfo("ar-sa")
                               Dim tempDate As DateTime = Convert.ToDateTime(iString, culture)

                               MsgBox(tempDate)


و يظهر الخطاء

Conversion From String To Type '"١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"' Is Not Valid

شكل ارقم ١٢٣٤ لابد يكون 1234
اعمل بتغييرها بطريقه مثل
PHP كود :
Dim iString As String "١٤٤٢/٠٨/٠٨ ٢:٣٨ ص"
iString=iString.replace("٠","0")
iString=iString.replace("١","1")
وهكذا باقي الارقام وحيعمل معاك الكود 


كلام حضرتك صحيح تماما وقمت بعمل وظيفة لتحويل الارقام الي الانجليزية وتم حل المشكلة الف شكر للنصيحة
الرد
تم الشكر بواسطة: Ronald



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


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