מדריך C# – תאריכים ועבודה עם DateTime
בחלק זה נלמד על טיפוס משתנה בשם DateTime, שיאפשר לנו לעבוד עם תאריכים.
הטיפוס DateTime
משתנה שיוגדר להיות מטיפוס DateTime יוכל להכיל בתוכו כל תאריך ושעה אפשרי.
משתנה מטיפוס DateTime מכיל אוסף של פונקציות עזר שמותאמות במיוחד לעבודה עם תאריכים.
יצירה של משתנה מטיפוס DateTime
יצירת משתנה DateTime מתבצעת באמצעות המילה new שכבר ראינו לה שימוש בחלקים הקודמים למדריך.
בעת היצירה ניתן (אך לא חובה) להעביר פרמטרים על התאריך ההתחלתי שיהיה בתוך המשתנה.
לדוגמא, קטע הקוד הבא יוצר משתנה מטיפוס DateTime המכיל את התאריך 12/12/2005 והשעה 09:00, ומדפיס אותו למסך:
DateTime date = new DateTime(2005, 12, 12, 9, 0, 0);
Console.WriteLine(date);
התוצאה:
קטע הקוד הבא יוצר משתנה מטיפוס DateTime ללא הגדרת הזמן, במקרה כזה הזמן מוגדר להיות 00:00:00
DateTime date = new DateTime(2005, 12, 12);
Console.WriteLine(date);
תכונות של DateTime
למשתנה מטיפוס DateTime יש תכונות נוחות המאפשרות לקבל את החלקים השונים מתוך התאריך או השעה.
לדוגמא, התכונה Year מחזירה את השנה של התאריך.
באופן דומה קיימות תכונות Month , Day , Hour , Minute , Second ואפילו Millisecond שמחזירים את החודש, יום, שעה, שניה ואלפית השניה בהתאמה:
DateTime date = new DateTime(2005, 12, 12, 9, 0, 0);
Console.WriteLine(date);
Console.WriteLine("Year = " + date.Year.ToString());
Console.WriteLine("Month = " + date.Month.ToString());
Console.WriteLine("Day = " + date.Day.ToString());
Console.WriteLine("Hour = " + date.Hour.ToString());
Console.WriteLine("Minute = " + date.Minute.ToString());
Console.WriteLine("Second = " + date.Second.ToString());
מה השעה?
תכונה אחת מאוד שימושית במחלקה DateTime היא נקראת Now והיא מחזירה את התאריך והשעה הנוכחית.
לדוגמא, קטע הקוד הבא מציג את השעה:
DateTime currentTime = DateTime.Now;
Console.WriteLine(currentTime);
חיבור תאריכים
ניתן לבצע פעולות חיבור על מה משתנה מטיפוס DateTime.
לדוגמא, אם נרצה לחשב מה יהיה התאריך בעוד 40 יום, נשתמש בפונקציה AddDays עם פרמטר 40:
DateTime currentTime = DateTime.Now;
DateTime future = currentTime.AddDays(40);
Console.WriteLine(currentTime);
Console.WriteLine(future);
והתוצאה:
שימו לב שהוספת 40 יום לתאריך נעשתה תוך התחשבות במספר הימים בחודש הנוכחי.
באופן דומה לפונקציה AddDays קיימות הפונקציות AddYears , AddMonths , AddHours , AddMinutes , AddSeconds שמוסיפות שנים, חודשים, שעות, דקות ושניות בהתאמה.
הדפסת תאריכים בפורמטים שונים
הפונקציה ToString היא פונקציה שקיימת לכל משתנה בשפת C#, והיא מאפשרת להמיר כל אוביקט למחרוזת.
כאשר עובדים עם תאריכים נרצה לפעמים להדפיס את התאריך בפורמט שונה מברירת המחדל. ניתן לעשות זאת ע"י העברת פרמטר לפונקציית ToString.
לדוגמא, קטע הקוד הבא מציג את השעה הנוכחית במספר פורמטרים שונים:
DateTime currentTime = DateTime.Now;
Console.WriteLine(currentTime.ToString());
Console.WriteLine(currentTime.ToString("dd/MM/yyyy"));
Console.WriteLine(currentTime.ToString("yyyy-MM-dd HH:mm"));
הרצת התוכנית תיתן לנו:
תגובות בפייסבוק