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


هنا نستعرض بعض المعلومات المهمة عن متغير التاريخ Date ، وهو أن هذا المتغير ليس مسؤولاً فقط عن التاريخ في الوقت الحالي، وإنما يمكن من خلاله القيام بكل ما يتعلق بالتاريخ، بالإضافة الى بعض المعلومات



أولا : تعريف تاريخ جديد :-


كود :
Dim d As New Date (اليوم, الشهر , السنة  )



ثانيا : الحصول على تاريخ آخر من التاريخ الحالي :-



مثال : الحصول على التاريخ بعد يوم أو بعد شهر ، ...الخ

وهو عن طريق استخدام دالة DateAdd وتقوم بارجاع متغير من نوع Date، ويكون تركيبها هكذا

كود :
 DateAdd(ابتداء من تاريخ   ,     مقدار الزيادة    ,    يوم أو شهر الخ)

وهنا مثال على الحصول على تاريخ يوم الغد :-

كود :
Dim d As Date = DateAdd(DateInterval.Day, 1, Date.Today)

ومثال آخر على الحصول على تاريخ الشهر القادم :-

كود :
Dim d As Date = DateAdd(DateInterval.Month, 1, Date.Today)

وهنا يمكنك التعديل على DateInterval.Month للحصول على سنة أو ساعة أو دقيقة ... الخ



ثالثا : الحصول على فرق بين تاريخين :-



وهو عن طريق استخدام دالة DateDiff وتقوم بارجاع متغير من نوع Long يمثل مقدار الفرق،  وتركيبها هكذا :-

كود :
DateDiff(التاريخ الآخر    ,    التاريخ الأول    ,     يوم أو شهر الخ )


وهنا مثال كامل على المقارنة بين تاريخين :-

كود :
Dim d As Date = DateAdd(DateInterval.Day, 1, Date.Today)
       Dim dif As Long = DateDiff(DateInterval.Day, Date.Today, d)

وهنا ستكون قيمة المتغير dif هي 1 وهو أن الفرق بين التاريخ الأول والثاني ( Date.Today تاريخ اليوم ) هو يوم واحد.




رابعا : إحضار التاريخ من نص :-




كود :
dim d As Date = DateValue("21/11/1437")

وهنا يعتمد على صيغة التاريخ في نظام التشغيل، إذا كان هجري أم ميلادي




خامسًا وأخيرًا : إحضار التاريخ بنمط معين :-




على سبيل المثال :- إحضار تاريخ اليوم بالتفصيل مع الوقت ، أو إحضار الوقت فقط ، أو إحضار التاريخ مع اليوم إذا كان السبت أو الأحد ...الخ

ويوجد 38 نمط لعرض التاريخ في المتغير Date من خلال الدالة GetDateTimeFormats وتقوم بإعادة قيمة من نوع String،  ويمكن استخدام هذه الأنماط كالتالي :- 

مثلا طباعتها في Msgbox

كود :
Dim d As Date = Date.Now
       MsgBox  (  d.GetDateTimeFormats ()( هنا نضع رقم النمط وهي من صفر إلى 37 )  


وهنا الأنماط التي يوفرها المتغير Date حسب الرقم :-



( 0 )   21/11/37
( 1 )   21/11/1437
( 2 )   21/ذو القعدة/1437
( 3 )   الأربعاء, 21 ذو القعدة, 1437
( 4 )   21/ذو القعدة/1437 09:41 ص
( 5 )   21/ذو القعدة/1437 09:41
( 6 )   الأربعاء, 21 ذو القعدة, 1437 09:41 ص
( 7 )   الأربعاء, 21 ذو القعدة, 1437 09:41
( 8 )   21/ذو القعدة/1437 09:41:58 ص
( 9 )   21/ذو القعدة/1437 09:41:58
( 10 )   الأربعاء, 21 ذو القعدة, 1437 09:41:58 ص
( 11 )   الأربعاء, 21 ذو القعدة, 1437 09:41:58
( 12 )   21/11/37 09:41 ص
( 13 )   21/11/37 09:41
( 14 )   21/11/1437 09:41 ص
( 15 )   21/11/1437 09:41
( 16 )   21/11/37 09:41:58 ص
( 17 )   21/11/37 09:41:58
( 18 )   21/11/1437 09:41:58 ص
( 19 )   21/11/1437 09:41:58
( 20 )   21 ذو القعدة
( 21 )   21 ذو القعدة
( 22 )   2016-08-24T09:41:58.5086922+03:00
( 23 )   2016-08-24T09:41:58.5086922+03:00
( 24 )   Wed, 24 Aug 2016 09:41:58 GMT
( 25 )   Wed, 24 Aug 2016 09:41:58 GMT
( 26 )   2016-08-24T09:41:58
( 27 )   09:41 ص
( 28 )   09:41
( 29 )   09:41:58 ص
( 30 )   09:41:58
( 31 )   2016-08-24 09:41:58Z
( 32 )   21/ذو القعدة/1437 06:41:58 ص
( 33 )   21/ذو القعدة/1437 06:41:58
( 34 )   الأربعاء, 21 ذو القعدة, 1437 06:41:58 ص
( 35 )   الأربعاء, 21 ذو القعدة, 1437 06:41:58
( 36 )   ذو القعدة, 1437
( 37 )   ذو القعدة, 1437





تحياتي Dev Saeed
الرد }}}



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


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