الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف استطيع طرح وقتين و الحصول على الناتج بالساعات و الدقائق

مغلق
بدأه hussientafserqa في 9 أبريل 2007 · 6 رد · 5,611 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا اقوم بتطوير برنامج للحضور و الغياب في شركة و تواجهني مشكلة الا و هي كيف اقوم بطرح وقتين من بعضهما البعض خطر في بالك استخدام الدالة datediff

و لكن للاسف عندما يكون لدينا وقت دخول مثلاُ 17:00 و وقت الخروج 1:00 بعد منتصف الليل يعطي الفرق 16 ساعة اي 16 ساعة عمل لكن الفرق الحقيقي يجب ان يكون 8 ساعات لانه بدء من 17:00 يعني الساعة الخامسة مساءاً و انتهى في الساعة 1:00 صباحاً فلا ادري ماذا نستخدم لطرح وقتين مثل 17:00-1:00 لكي يعطي ناتج صحيح و هو 8:00 جربت جميع الطرب لكني لم انجح الرجاء المساعدة و شكراً

#2

دون تفكير: ان كان الوقت الثاني اصغر من الوقت الاول اضف له 24 ساعة :o

d4baa0.gif
#3

جميل جداً اخي الغالي لكن كيف اقوم بالاضافة هذا وقت و ليس انتجر

#4

تفضل الكود التالي

Public Function GetH(ByVal str As String) As Integer

Dim d, m, y, n, num As String

Dim parts() As String

str = Trim(str)

parts = Split(str, ":")

Return parts(0)

End Function

Public Function GetM(ByVal str As String) As Integer

Dim d, m, y, n, num As String

Dim parts() As String

str = Trim(str)

parts = Split(str, ":")

If parts.Length > 1 Then

Return parts(1)

Else

Return 0

End If

End Function

Public Function getTDiff(ByVal t1 As String, ByVal t2 As String) As Integer

Dim h1, m1, h2, m2 As Integer

Dim h, m As Integer

h1 = GetH(t1)

h2 = GetH(t2)

m1 = GetM(t1)

m2 = GetM(t2)

If m1 < m2 Then

m1 = m1 + 60

h1 = h1 - 1

End If

m = m2 - m1

h = h2 - h1

Return (h * 60) + m

End Function

#5

no

no

no

no

why you make it to hard like this

simply you can do like this

Dim x As New DateTime

Dim y As New DateTime

x = #6:00:00 PM#

y = #1:00:00 AM#

y = y.AddDays(1)

MsgBox(DateDiff(DateInterval.Hour, x, y))

#6

شكرا جزيلا

#7
hussientafserqa كتب:
السلام عليكم

انا اقوم بتطوير برنامج للحضور و الغياب في شركة و تواجهني مشكلة الا و هي كيف اقوم بطرح وقتين من بعضهما البعض خطر في بالك استخدام الدالة datediff

و لكن للاسف عندما يكون لدينا وقت دخول مثلاُ 17:00 و وقت الخروج 1:00 بعد منتصف الليل يعطي الفرق 16 ساعة اي 16 ساعة عمل لكن الفرق الحقيقي يجب ان يكون 8 ساعات لانه بدء من 17:00 يعني الساعة الخامسة مساءاً و انتهى في الساعة 1:00 صباحاً فلا ادري ماذا نستخدم لطرح وقتين مثل 17:00-1:00 لكي يعطي ناتج صحيح و هو 8:00 جربت جميع الطرب لكني لم انجح الرجاء المساعدة و شكراً

السلام عليكم ورحمة الله وبركاتة

هذا الكود لطرح وقتين من بعض ويمكنك ادخال قيمة الوقت وكتابة PM او Am ويتم طرحهم بطريقة مباشرة وعرضها فى رسالة

Dim ts As TimeSpan

Dim dtStart As DateTime

Dim dtEnd As DateTime

dtStart = DateTime.Parse(TextBox1.Text)

dtEnd = DateTime.Parse(TextBox2.Text)

ts = dtEnd.Subtract(dtStart).Duration

MsgBox(ts.TotalHours)

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…