السلام عليكم ورحمه الله وبركاته
عندى قاعده بيانات sql 2005 عليها بيانات وبصمات مستخدمين نازله من على اجهزه البصمه
الجول اسمه
EVENT_LOG
فيها مجموعه من ال columns
nUserID : ده فيه ارقام الموظفين
nDateTime : ده فيه البصمات بتاعه الموظفين
ولكن البصمات مش مكتوبه بصيغه تاريخ مكتوبه بصيغه ارقام مثلا : 540378875 , 540378875
السؤال هنا ازاى اقدر احول القيم دى واخليها على صيغه datetime
واقدر اعرضها فى datagridview
وشكرا على المساعده
سلام
احتمال كبير يكون هو هذا الكود
كود :
' http://www.unixtimestamp.com/
'http://stackoverflow.com/questions/13108574/converting-datetime-to-number-of-seconds-in-vb-net
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(FromUnix(540378875, True))
End Sub
Public Function FromUnix(ByVal seconds As Integer, ByVal local As Boolean) As DateTime
Dim dt = Epoch.AddSeconds(seconds)
If local Then dt = dt.ToLocalTime
Return dt
End Function
Public Function ToUnix(ByVal dt As DateTime) As Integer
If dt.Kind = DateTimeKind.Local Then dt = dt.ToUniversalTime
Return CInt((dt - Epoch).TotalSeconds)
End Function
Public ReadOnly Property Epoch() As DateTime
Get
Return New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
End Get
End Property
موفقين
جزالك الله خيرا على المساعده
لكن اعذرنى انا مش عارف برده ازاى اطبق الكود ده على انا محتاجه
انا مبتدا لسه فى الفيجوال دوت نت
التحويل الي تاريخ ليس بمشكلة لكن و بشكل مبدئي عليك اولا ان تفهم Pattern او الصيغة أو النمط الذي تم استخدامه لإدخال البيانات فهذا سيحدد بشكل كبير الكيفية التي سوف تستخدمها لتحويل هذا النمط او هذه الصيغة الي تاريخ
علي سبيل المثال الصيغة الخاصة بك هي عبارة عن 9 ارقام و نعم هي تبدو لك ارقاما ولكن حين تتعامل معها لتحويلها الي تاريخ ستتعامل معها علي انها String و ليس أرقاما
غالبا ShortDateString الصيغة او النمط الخاص به عبارة عن 8 ارقام فقط علي سبيل المثال لو اعتبرنا الرقم الرقم 20151206 يمثل صيغة للتاريخ هنا ستجد أن الاربعة ارقام الأولي من اليسار تمثل السنة و الرقمان التاليان من اليسار ايضا يمثلان الشهر و الرقمان الأخيران يمثلان اليوم و بالتالي من المفترض ان الشكل النهائي لمثل هذا الرقم و عند تحويله الي تاريخ سيكون عبارة عن 06/12/2015
لذلك و لكي يتم حل مشكلتك بشكل دقيق عليك ان توضح لنا الصيفة او النمط الذي تم استخدامه
try this
Dim d As Date = Date.FromOADate(41498)
either using date or dateTime
الاستاذ silverlight
القيمه التى تم ادخال بها البيانات هى int
اذا كان هذا قصدك
سلام
الارقام التي ذكرتها ومنها 540378875 هي عباره عن نوع اسمه unix time
وطريقتها انها تحسب عدد الثوان من تاريخ من بدايه يوم 1 يناير 1970
جرب تضع الرقم اللي ذكرتك حضرتك في هذا الموقع
http://www.unixtimestamp.com
وبتلاقيه يحوله الى 02/15/1987 @ 9:14am على اعتبار التوقيت هو جرينتش UTC
جرب هذا الاستعلام كتجربه لترى النتيجه
- انا جربته ونجح في التحويل قبل عرض البيانات في الداتاجريد
كود :
SELECT [nUserID],
DATEADD(S, [nDateTime], '1970-01-01') AS [nDateTime]
FROM [EVENT_LOG]
واذا بدك تضيف فارق التوقيت عدل الرقم 3 لفارق التوقيت اللي بتريد
كود :
SELECT [nUserID],
DATEADD(HOUR, 3, (DATEADD(S, [nDateTime], '1970-01-01'))) AS [nDateTime]
FROM [EVENT_LOG]
http://stackoverflow.com/questions/29042...sql-server
موفقين