14-12-15, 02:43 PM
(آخر تعديل لهذه المشاركة : 14-12-15, 02:45 PM {2} بواسطة myalsailamy.)
السلام عليكم و رحمة الله و بركاته ،،
كيف الحال اخواني و زملائي //
اليوم سويت كود و احببت ان اشارككم اياه ،، و لكن قبل ان تستخدموا الكود هناك قيود و هي
1/ ان يكون التاريخ النصي المدخل يحوي السنة و تكون رقم رباعي يعني بهذا الشكل 1437 أو 2015
2/ أن تحدد فورمات (هيئة) التاريخ الذي سيدخل
3/ ان تحدد العلامة التي ستفصل بين ارقام التاريخ
المميزات في الـ Function :
1/ تحويل نص الى Object من نوع DateTime أهم ميزه
2/ يدعم الادخال هجري او ميلادى بمدى معين للتاريخ الهجري بحيث يكون التاريخ اقل من 1450 سنة (تقويم ام القرى)
3/ يوجد مثال لطريقة الاستخدام للكود في وصف الكود
4/ يتعرف على التاريخ هل هو ميلادي ام هجري (باستخدام السنة)
و هذا هو الكود :
و الله المستعان
كيف الحال اخواني و زملائي //
اليوم سويت كود و احببت ان اشارككم اياه ،، و لكن قبل ان تستخدموا الكود هناك قيود و هي
1/ ان يكون التاريخ النصي المدخل يحوي السنة و تكون رقم رباعي يعني بهذا الشكل 1437 أو 2015
2/ أن تحدد فورمات (هيئة) التاريخ الذي سيدخل
3/ ان تحدد العلامة التي ستفصل بين ارقام التاريخ
المميزات في الـ Function :
1/ تحويل نص الى Object من نوع DateTime أهم ميزه
2/ يدعم الادخال هجري او ميلادى بمدى معين للتاريخ الهجري بحيث يكون التاريخ اقل من 1450 سنة (تقويم ام القرى)
3/ يوجد مثال لطريقة الاستخدام للكود في وصف الكود
4/ يتعرف على التاريخ هل هو ميلادي ام هجري (باستخدام السنة)
و هذا هو الكود :
PHP كود :
''' <summary>
''' تحويل التاريخ من قيمة نصيه الى قيمة تاريخ
''' </summary>
''' <example>This is a code example:
''' <code>
''' Dim myDate As DateTime = ConvertFromStringToDate("1416/12/1")
''' </code>
''' </example>
''' <param name="DateAsString">التاريخ المدخل كنص</param>
''' <param name="DateFormat">هيئة التاريخ</param>
''' <param name="SpiltChar">الفاصله التي تفصل ارقام التواريخ</param>
''' <returns>DateTime</returns>
''' <remarks></remarks>
Public Shared Function ConvertFromStringToDate(ByVal DateAsString As String, Optional ByVal DateFormat As String = "yyyy/MM/dd", Optional ByVal SpiltChar As Char = "/") As DateTime
If DateAsString.Trim <> Nothing Then
Dim theSpiltDate As String() = Split(DateAsString, SpiltChar)
Dim culture As IFormatProvider
Dim yearNo As String = ""
For Each Number As String In theSpiltDate
If Number.Length = 4 And Information.IsNumeric(Number) = True AndAlso (Val(Number) > 1300 Or Val(Number) < 2100) Then yearNo = Number
Next
If yearNo.Trim = Nothing Then Return Now
If Val(yearNo) < 1450 Then
culture = New System.Globalization.CultureInfo("ar-SA", True)
Else
culture = New System.Globalization.CultureInfo("en-US", True)
End If
Dim myDate As DateTime = DateTime.ParseExact(DateAsString.Trim, DateFormat.Trim, culture)
Return myDate
Else
Return Now
End If
End Function
و الله المستعان
اسم معرفي : محمد يحيى