السلام على الإخوة الكرام،
لقد لاحظت في القسم، بعض أسئلة حول التاريخ،
لذا سنتحدث معا قليلا حول هذا الموضوع.
أولا من باب التذكير للمبتدئين (أمثالي) هناك مستندات رائعة في Microsoft MSDN لجميع ما يحتاجه مبرمج يستخدم تقنيات Microsoft، نجد فيها كل ما نريد، يمكن البحث عن شيء معين، يمكن مشاهدة الـ Classes مثلا وما تحتویه من الخصائص، يمكن دراسة لغة، فيها امثلة حول كيفية استخدام شيء ... كل شيء. حجم هائل من المعلومات. أعرف بعض الناس يقرأون جزء صغير من هذه المكتبة طول اجازة.
----------
للتعامل مع التاريخ والـTime يمكننا استخدام DateTime. نجده هنا:
System.DateTime
هذا هو الـSyntax الخاص به:
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind)
يعني مثلا لــ 2012/04/03:
DateTime dateTime1 = new DateTime(2012, 04, 03);
مثال اخر، لــ 2010/06/23 و في الساعة: 10:43m:19s
DateTime dateTime2 = new DateTime(2010, 06, 23, 10, 43, 19);
ليس هذا فقط، يمكننا قراءة اليوم فقط، أو قراءة الشهر مثلا:
int month = dateTime2.Month;
أو نأخذ وقت اليوم:
DateTime now = DateTime.Now;
هذا هو الوقت الذي يظهر في الجهاز الحين.
من الجميل أنه يدعم التقويم الهجري وتقويم أم القرى أيضا
HijriCalendar hijriCalendar = new HijriCalendar();
DateTime hijri = new DateTime(1420, 3, 13, 12, 22, 29, 500, hijriCalendar, DateTimeKind.Local);
Console.WriteLine("{0}/{1}/{2} {3}{8}{4:D2}{8}{5:D2}.{6:G3} {7}\n",
hijriCalendar.GetDayOfMonth(hijri),
hijriCalendar.GetMonth(hijri),
hijriCalendar.GetYear(hijri),
hijriCalendar.GetHour(hijri),
hijriCalendar.GetMinute(hijri),
hijriCalendar.GetSecond(hijri),
hijriCalendar.GetMilliseconds(hijri),
hijri.Kind,
DateTimeFormatInfo.CurrentInfo.TimeSeparator);ماذا نفعل للفرق بين تاريخين؟
مثلا لدينا:
DateTime dateTime1 = new DateTime(2012, 02, 23); DateTime dateTime2 = new DateTime(2011, 05, 19);
لتسجيل الفرق بين هذين نحتاج بـStructure اخر، TimeSpan:
TimeSpan interval1 = dateTime1 - dateTime2;
أو بطريقة اخرى:
TimeSpan interval1 = dateTime1.Subtract(dateTime2);
فيه شيء في TimeSpan يجب ان ننتبه، أن الـSyntax الخاص به ليس بشكل yyyy/mm/dd، بل بهذا الشكل:
public TimeSpan( int days, int hours, int minutes, int seconds, int milliseconds)
لذا، الناتج:
هذا كان بالاختصار.
لقراءة اكثر في المكتبة التي ذكرت:
والسلام عليكم.