تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دوال التاريخ
#1
اريد اكواد لمعالجة الفرق بين التوقيتين وتحويل الايام الى ساعات
الرد }}}}
تم الشكر بواسطة:
#2
تفضل أخي مثل لكل ماتريدة


[ATTACH]1579[/ATTACH]


الملفات المرفقة
.rar   دوال الوقت والت&#1.rar (الحجم : 1.58 ك ب / التحميلات : 99)
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}}
تم الشكر بواسطة:
#3
شكرا جزيلا يااخى
الرد }}}}
تم الشكر بواسطة:
#4
لكن الدالة دى DateDiff("d", Text7.Text, Text8.Text) & " d"بتعطى الايام فقط ولو كانت ساعات ودقائق فما هو الحل
الرد }}}}
تم الشكر بواسطة:
#5
اضرب عدد الايام في 24
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}}
تم الشكر بواسطة:
#6
تركي الحلواني كتب :اضرب عدد الايام في 24

[b]كيف وإن كان الفرق بين الوقتين ماهو إلا ساعات أو دقائق فقط وليس أيام كاملة.

مثلا الفرق بين 19/12/2012 الساعة 11 مساءا و 20/12/2012 الساعة 9 صباحا.

ولكم جزيل الشكر.
[/b]
الرد }}}}
تم الشكر بواسطة:
#7
اخي كان المطلوب من الاخ استخراج الفرق بالايام

لو تبي باساعات والدقايق والثواني

هذا الكود بس تعديل بسيط لكل من :دقايق ="n" ثواني ="s" ساعادت ="h"

PHP كود :
Dim MinDate As Date
Dim MaxDate 
As Date

MinDate 
CDate("2008/12/25 22:45")
MaxDate CDate("2009/01/15 11:00")

MsgBox DateDiff("n"MinDateMaxDate), vbInformation"الفرق بالدقائق" 

اتمنا الاستفادة
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}}
تم الشكر بواسطة:
#8
شكرا جزيلا , ولي طلب توضيح عمل الدالة CDate
الرد }}}}
تم الشكر بواسطة:
#9
إليكم شرح دوال التاريخ والوقت

Cdate
تستخدم دالة Cdate من أجل تحويل سلسلة إلى تاريخ وتنصح مايكروسوفت باستخدام هذه الدالة دائماً مع متغيرات التاريخ لضمان تحويل المتغيرات الممررة إلى تاريخ كما أنها تقوم بالتأكد من أن المتغير الممرر من نوع تاريخ ، كما أنها مفيدة في التأكد من تحويل التاريخ الممرر للدالة إلى التقويم الحالي المحدد في قاعدة البيانات ( هجري ، ميلادي )
وتستخدم بالصيغة التالية :

كود
CDate(MyDate)


على سبيل المثال فإن الدالة بالصيغة التالية :

كود
CDate("February 12, 1969")


ستعيد متغيراً من نوع تاريخ

CVdate
وهي مثل دالة Cdate تماماً إلا أن المتغير الذي ترجعه الدالة هو من نوع Variant والألوية فيه لمتغير التاريخ أي أن النوع الفرعي له هو تاريخ

Date
وهي تقوم بإرجاع أو عرض تاريخ اليوم الحالي وتستخدم عند الرغبة في الحصول على تاريخ اليوم
وتستخدم بالصيغة التالية :

كود
Date()


حيث ترجع تاريخ اليوم

Time
وهي تقوم بإرجاع أو عرض الوقت الحالي للنظام وتستخدم عند الرغبة في الحصول على الوقت الحالي
وتستخدم بالصيغة التالية :

كود
Time ()


حيث ترجع الوقت الحالي

Now
وهي تقوم بإرجاع أو عرض الوقت والتاريخ الحالي معاً وتستخدم عند الرغبة في الحصول على الوقت والتاريخ الحالي معاً
وتستخدم بالصيغة التالية :

كود
Now()


الوقت والتاريخ الحالي معاً

DateAdd
تعد دالة DateAdd من دوال التاريخ المهمة حيث تستخدم في إضافة مدة معينة على تاريخ معين
لنفترض أن لديك تاريخاً ما وتريد معرفة التاريخ الموافق بعد إضافة 100 يوم مثلاً على هذا التاريخ في هذه الحالة ستكون دالة DateAdd هي الدالة المناسبة
تتطلب دالة DateAdd تحديد ثلاثة متغيرات هي :
1- نوع الفترة التي تريد إضافتها وهل هي يوم ِأم شهر أم سنة أم ساعة إلخ ،،،
2- العدد أي ما هو عدد الأيام أو الأشهر التي تريد إضافتها
3- التاريخ الذي تريد الإضافة إليه
وتستخدم بالصيغة التالية :

كود
DateAdd(الفترة, العدد, التاريخ)


حيث تعيد متغيراً من نوع تاريخ
هناك عدد من متغيرات الفترة التي يمكن استخدامها وفي القائمة التالية أهم هذه المتغيرات :
yyyy سنة
q ربع سنة
m شهر
d يوم
w يوم الأسبوع
ww أسبوع
h ساعة
n دقيقة
s ثانية

فإذا أردنا مثلاً إضافة (10) أيام إلى تاريخ "1/1/1423" فتكون الدالة بالصيغة التالية :

كود
DateAdd("d", 10, "1/1/1423")



DateDiff
وهي أيضاً من أهم دوال التاريخ وتستخدم لحساب المدة بين تاريخين بحسب متغير الفترة المحدد للدالة
وربما تلاحظون أننا كثيراً ما نستخدم هذه الدالة لعدد من الأغراض مثل حساب عدد أيام الإجازة أو الغياب أو خارج الدوام أو العمر أو غيرها
وتستخدم هذه الدالة بالصيغة التالية :
DateDiff(الفترة, تاريخ1, تاريخ2[, أول يوم في الأسبوع], أول أسبوع في السنة]])

ومتغيرات الدالة كالتالي :
الفترة : وهو أحد المتغيرات المذكورة سابقاً مثل m , d , w وغيرها
تاريخ1 : التاريخ الأول وهو التاريخ الأصغر
تاريخ 2 : التاريخ الثاني وهو التاريخ الأكبر ولو عكست لكانت قيمة الدالة بالسالب
أول يوم في الأسبوع : متغير اختياري أي يمكن عدم استخدامه وهو مفيد في حالة حساب عدد الأسابيع بين تاريخين إذ يتم الاعتماد عليه في تحديد أول يوم في الأسبوع وبالتالي قد يتغير عدد الأسابيع بحسب هذا المتغير ، فلو افترضنا مثلاً أننا نريد حساب المدة مثلاً من يوم السبت هذا الأسبوع حتى يوم الاثنين الأسبوع القادم فلو جعلنا أول يوم في الأسبوع هو الأحد فستكون النتيجة هي ( 2 ) أسبوعان لكن لو جعلنا أول يوم في الأسبوع هو يوم الأربعاء مثلاً فالنتيجة ستكون ( 1 ) أسبوع واحد لأنه لا يوجد خلال هذه الفترة سوى يوم أربعاء واحد وهكذا
زد على ذلك أن هذا المتغير مهم في حالة رغبتنا في حساب عدد أحد أيام الأسبوع بين تاريخين مثل لو أردنا حساب أيام السبت بين تاريخين ففي هذه الحالة نجعل متغير الفترة هو W أي يوم في الأسبوع ومتغير أول يوم في الأسبوع هو يوم السبت وهذا مفيد في حالة رغبتك في حساب المدة بالأيام بين تاريخين بدون أيام الإجازات ( الخميس والجمعة مثلاً ) حيث تستخرج عدد أيام الخميس خلال التاريخين وعدد أيام الجمعة ثم تجمعها وتطرحها من مجموع الأيام بين التاريخين

متغير أول يوم في الأسبوع يستخدم أحد المتغيرات التالية :


vbUseSystem 0 نظام الويندوز
vbSunday 1 الأحد وهو الافتراضي
vbMonday 2 الاثنين
vbTuesday 3 الثلاثاء
vbWednesday 4 الأربعاء
vbThursday 5 الخميس
vbFriday 6 الجمعة
vbSaturday 7 السبت

أما متغير أول أسبوع في السنة فهو اختياري أيضاً وهو مفيد في حالة حساب عدد الأسابيع أي في حالة استخدام متغير الفترة ww حيث يحدد ما هو أول أسبوع سيتم اعتباره ضمن هذه السنة وهو يستخدم أحد المتغيرات التالية :

vbUseSystem 0 نظام الويندوز
vbFirstJan1 1 أول أسبوع يحتوي على أي يوم في السنة الجديدة وهو الافتراضي
vbFirstFourDays 2 الأسبوع الذي يحتوي على أربعة أيام أو أكثر في السنة الجديدة
vbFirstFullWeek 3 الأسبوع الذي تكون جميع أيامه في السنة الجديدة


DatePart

وتستخدم هذه الدالة للحصول على جزء معين من التاريخ الممرر لها مثل العام أو اليوم أو الشهر حيث تعيد متغيراً من نوع Variant (Integer) وتستخدم بالصيغة التالية

كود
DatePart(الفترة, التاريخ)


حيث يحدد متغير الفترة الجزء المطلوب استخراجه من التاريخ المرر لها فعلى سبيل المثال ترجع الدالة التالية العام ( 1423 )

كود
DatePart("yyyy","1/5/1423")


بينما ترجع الدالة التالية الشهر ( 5 )

كود
DatePart("m","1/5/1423")


وترجع الدالة التالية اليوم ( 1 )

كود
DatePart("d","1/5/1423")




DateSerial

تستخدم دالة DateSerial لإرجاع متغير من نوع تاريخ من ثلاث متغيرات رقمية تمثل السنة والشهر واليوم وتسخدم بالصيغة التالية
كود
DateSerial(year, month, day)
حيث يتم تمرير ثلاثة أرقام لها
يمثل الأول السنة والثاني الشهر والثالث اليوم ، ويمكن استخدام المعادلات الحسابية في هذه الأرقام فالمثال التالي :
كود
DateSerial(1990 - 10, 8 - 2, 1 – 1)

يرجع التاريخ التالي : "31/5/1980" وهكذا
TimeSerial
تستخدم دالة TimeSerial لإرجاع متغير من نوع وقت من ثلاث متغيرات رقمية تمثل الساعات والدقائق والثواني وتسخدم بالصيغة التالية
كود
TimeSerial(hour, minute, second)

حيث يتم تمرير ثلاثة أرقام لها يمثل الأول الساعات والثاني الدقائق والثالث الثواني ، ويمكن استخدام المعادلات الحسابية في هذه الأرقام فالمثال التالي :
كود
TimeSerial(12 - 6, -15, 0)

يرجع الوقت التالي : " 5:45:00 " وهكذا


DateValue

تستخدم دالة DateValue من إجل تحويل تعبير معين إلى تاريخ ، وهي مفيدة في حالة وجود تعبير معين نرغب في تحويله إلى تاريخ حتى يتم التعامل معه كتاريخ ، وتستخدم بالصيغة التالية :
كود
DateValue(date)
على سبيل المثال لو مررنا للدالة سلسلة
نصية تصلح لأن تكون تاريخاً فإن هذه الدالة ستقوم بتحويلها إلى تاريخ مثل
DateValue("12 12 1423")


TimeValue

تستخدم دالة TimeValue من إجل تحويل تعبير معين إلى وقت ، وهي مفيدة في حالة وجود تعبير معين نرغب في تحويله إلى وقت حتى يتم التعامل معه كوقت ، وتستخدم بالصيغة التالية :
كود
TimeValue(time)
على سبيل المثال لو مررنا للدالة سلسلة نصية تصلح لأن تكون وقتاً فإن هذه الدالة ستقوم بتحويلها إلى وقت مثل
كود
TimeValue("4:35:17 PM")



Day – Month – Year - Weekday
تستخدم هذه الدوال الأربع لاسترجاع جزء معين من التاريخ حيث يمرر لأي منها تاريخ معين وتعيد قيمة جزء معين من هذا التاريخ وذلك على النحو التالي :


Day تعيد اليوم
Weekday تعيد يوم الأسبوع ( 1= الأحد ، 2= الاثنين ..... )
Month تعيد الشهر
Year تعيد السنة
وكلها تستخدم بنفس الصيغة التالية
كود
Day(date)

Weekday(date)

Month(date)

Year (date)
على سبيل المثال فإن المثال التالي :
كود
Month("1/5/2002")
يرجع القيمة ( 5 ) وهي قيمة جزء الشهر في التاريخ الممرر للدالة ، وهكذا

Second – Minute – Hour

تستخدم هذه الدوال الثلاث لاسترجاع جزء معين من الوقت حيث يمرر لأي منها وقت معين وتعيد قيمة جزء معين من هذا الوقت وذلك على النحو التالي :

Second تعيد الثواني
Minute تعيد الدقائق
Hour تعيد الساعات
وكلها تستخدم بنفس الصيغة التالية
كود
Second(time )

Minute(time )

Hour(time)
على سبيل المثال فإن المثال التالي :
كود
Minute("4:35:17 PM")
يرجع القيمة ( 35 ) وهي قيمة جزء الدقائق في الوقت الممرر للدالة ، وهكذا



MonthName
وتستخدم لعرض اسم الشهر الموافق للرقم المحدد مع خيار لعرض الاسم المختصر أو الكامل وتكون بالصيغة التالية :

كود
MonthName(رقم الشهر[, خيار لعرض الاسم المختصر])
حيث يتم تمرير رقم الشهر لها في المتغير الأول ومتغير من نوع Boolean ( منطقي ) في المتغير الثاني أي ( falsetrue ) حيث سيتم عرض الاسم المختصر مع true والاسم الطويل مع false
لعل من المفيد أن أقول إنه يمكن استخدام هذه الدالة مع دالة Month بحيث يتم التعرف على رقم الشهر في التاريخ ثم على اسمه وذلك بالصيغة التالية :
كود
MonthName(Month("1/5/2002"( , false) لعرض الاسم الكامل

MonthName(Month("1/5/2002"( , true) لعرض الاسم المختصر


WeekdayName
وتستخدم لعرض اسم يوم الأسبوع الموافق للرقم المحدد مع خيار لعرض الاسم المختصر أو الكامل وتكون بالصيغة التالية :

كود
WeekdayName(رقم اليوم, خيار لعرض الاسم المختصر, أول يوم في الأسبوع)
حيث يتم تمرير رقم اليوم داخل الأسبوع لها في المتغير الأول ومتغير من نوع Boolean ( منطقي ) في المتغير الثاني أي ( falsetrue ) حيث سيتم عرض الاسم المختصر مع true والاسم الطويل مع false ، أما الخيار الثالث فيستخدم لتحديد اليوم الأول في الأسبوع حيث سيتم بناء عليه حساب الأرقام ويمكن استخدام أي من القيم التالية في هذا المتغير :

vbUseSystem 0 سيتم استخدام إعدادات النظام
vbSunday 1 الأحد وهو الافتراضي
vbMonday 2 الاثنين
vbTuesday 3 الثلاثاء
vbWednesday 4 الأربعاء
vbThursday 5 الخميس
vbFriday 6 الجمعة
vbSaturday 7 السبت

لعل من المفيد أن أقول إنه يمكن استخدام هذه الدالة مع دالة Weekday بحيث يتم التعرف على رقم اليوم في التاريخ ثم على اسمه وذلك بالصيغة التالية :
كود
WeekdayName (Weekday("1/5/2002"( , false , 0) لعرض الاسم الكامل

WeekdayName (Weekday("1/5/2002"( , true , 0) لعرض الاسم المختصر
Timer
تعيد قيمة تمثل عدد الثواني التي مرت منذ منتصف الليل وتستخدم عادة لحساب المدة الزمنية التي استغرقتها عملية ما حيث يتم إسناد قيمة الـ Timer إلى متغير قبل بدء التنفيذ ، وبعد تنفيذ العملية تتم المقارنة بين القيمة الحالية لـ Timer والقيمة السابقة لمعرفة المدة الزمنية .
على سبيل المثال يمكنك استخدام الإجراء التالي لحساب المدة الزمنية التي استغرقها تنفيذ الاستعلام المرر للدالة وهو من أمثلة التعليمات :
كود
Sub QueryTimer (strQueryName As String(

Dim sngStart As Single, sngEnd As Single

Dim sngElapsed As Single

sngStart = Timer

DoCmd.OpenQuery strQueryName, acNormal

sngEnd = Timer

sngElapsed = Format(sngEnd - sngStart, "Fixed")

MsgBox ("استغرق تنفيذ الاستعلام " & strQueryName & " " & sngElapsed & ثانية "")

End Sub


IsDate
تستخدم دالة IsDate لفحص ما إذا كان المتغير الممرر لها تاريخ أم لا حيث تعيد true إذا كان المتغير تاريخاً و تعيد false إذا لم يكن تاريخاً ، وتستخدم بالصيغة التالية :
كود
IsDate(تعبير)
و يتم تمرير متغير ما لها لفحص إن كان يصلح لأن يكون تاريخاً أم لا وعلى سبيل المثال ترجع دالة IsDate القيمة true في المثال التالي :
كود
IsDate("2/12/1990 ")


بينما ترجع القيمة false في المثال التالي :
كود
IsDate(" تجربي ")


منقول
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}}
تم الشكر بواسطة:
#10
السلام عليكم ورحمة الله وبركاته

استخدم DateDiff فهي تقوم بحساب الفرق بين تاريخين وتعيد النتيجة بالساعات أو الأيام إلخ.....
كود :
' Interval
' "yyyy" : Year
' "q"    : Quarter
' "m"    : Month
' "y"    : Day of year
' "d"    : Day
' "w"    : Weekday
' "ww"   : Week
' "h"    : Hour
' "n"    : Minute
' "s"    : Second

Private Sub Command1_Click()
    Dim h As Integer
    h = DateDiff("h", "02-01-2012", "03-01-2012")
    MsgBox (h)
End Sub


السلام عليكم ورحمة الله وبركاته
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية منع تكرار التاريخ فى قاعدة البيانات ؟ gedo 6 884 25-10-16, 10:10 AM
آخر رد: abulayth
  اريد كود لتغيير التاريخ فقط للوندوز من الفجوال بيسك 6 scsi7000 0 123 24-08-16, 03:39 PM
آخر رد: scsi7000
  مثال صغير على التعامل مع دوال لغة الإستعلام sql أبو أسامة 6 2,386 31-10-15, 11:26 PM
آخر رد: abulayth
Question [سؤال] عرض التاريخ الهجري بالشكل الصحيح في الاداة MSHFlexGrid1 allayl 2 1,256 29-10-13, 08:13 PM
آخر رد: allayl
Question [vb6.0] إظهار التاريخ الهجري من اليمين الى اليسار allayl 5 2,091 16-09-13, 09:27 PM
آخر رد: allayl
  المساعده في مثال البحث عن قبل إنتهاء التاريخ بأسبوعين allayl 7 973 30-08-13, 03:31 PM
آخر رد: benomar
  كيف ابحث عن تاريخ في قاعدة بيانات برنامجي بشرط ان يكون التاريخ تحت رقم حساب معين ؟؟ softmail8 2 493 08-07-13, 07:40 PM
آخر رد: softmail8
  برجاء كيفية ادخال اداة التاريخ المسماه dtpickerفى المشروع hosney 4 496 23-12-12, 12:15 PM
آخر رد: hosney
  البحث عن جزء من التاريخ ENG.MPROG 5 750 01-12-12, 04:27 AM
آخر رد: ناجي إبراهيم
  كتابة التاريخ في جملة ال sql اسلام الكبابى 9 2,264 23-10-12, 12:16 AM
آخر رد: اسلام الكبابى

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


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