C#:
חישוב תאריך בעתיד או בעבר
איך לעשות:
פשוט קח את הקוד הבא והשתמש בו:
using System;
public class DateExample
{
public static void Main()
{
DateTime today = DateTime.Now;
DateTime futureDate = today.AddDays(10);//עשרה ימים מהיום
DateTime pastDate = today.AddDays(-10);//עשרה ימים לפני
Console.WriteLine("Today: " + today.ToString("dd/MM/yyyy"));
Console.WriteLine("Date in the future: " + futureDate.ToString("dd/MM/yyyy"));
Console.WriteLine("Date in the past: " + pastDate.ToString("dd/MM/yyyy"));
}
}
וזה תוצאות הדוגמה:
Today: 14/03/2023
Date in the future: 24/03/2023
Date in the past: 04/03/2023
נפנוף לעומק:
לחישוב תאריכים יש חשיבות היסטורית רמה - מלוח השנה יוליאני לגרגוריאני. המעברים בין השיטות שינו תאריכים והפכו חישובים למורכבים יותר. ב-C#, DateTime
הוא המחלקה שמספקת התמיכה בתאריכים ובזמנים. חלופות כוללות DateTimeOffset
עבור התמכרות לאזורי זמן ו-TimeSpan
להבדלי זמן. ברמת המימוש, DateTime
עוקף בעיות של שינוי שעת קיץ ועוד עבור חישובים פשוטים כמו הדוגמה. לפעמים יש צורך להפעיל חשבון שנים עבריות ולזה יש ספריות מיוחדות.
לראות גם:
- מידע נוסף על
DateTime
: Microsoft Documentation - DateTime - מידע על
TimeSpan
: Microsoft Documentation - TimeSpan - למידע על עבודה עם אזורי זמן מומלץ
TimeZoneInfo
: Microsoft Documentation - TimeZoneInfo - פרויקט NodaTime, ספריית תאריכים/זמנים חזקה עם תמיכה בקלנדרים שונים: NodaTime