חישוב תאריך בעתיד או בעבר

C++:
חישוב תאריך בעתיד או בעבר

איך עושים את זה:

השתמש ב-C++20 ובספרייה <chrono> לחישובי תאריכים:

#include <iostream>
#include <chrono>
#include <date/date.h>  // אם יש צורך בתוספת של Howard Hinnant's date library

int main() {
    using namespace std::chrono;
    using namespace date;

    // היום
    auto today = floor<days>(system_clock::now());
    
    // הוסף 30 ימים להיום
    auto future_date = today + days{30};
    
    // הורד 30 ימים מהיום
    auto past_date = today - days{30};

    // הדפסה למען ידע
    std::cout << "היום: " << today << "\n";
    std::cout << "תאריך עתידי: " << future_date << "\n";
    std::cout << "תאריך עברי: " << past_date << "\n";
    
    return 0;
}

פלט לדוגמא:

היום: 2023-03-29
תאריך עתידי: 2023-04-28
תאריך עברי: 2023-02-27

צלילה לעומק:

עד ל-C++20, התקנים לא סיפקו תמיכה רחבה לניהול תאריכים וזמנים. מערכת ה-<chrono> הורחבה ב־C++20 כדי לכלול יותר פונקציות נוחות לעבודה עם תאריכים ושעות. לפני כן, היינו צריכים להשתמש בספריות חיצוניות כמו boost או date של Howard Hinnant. אפשרויות נוספות כוללות ספריית tm של C, אבל היא קטנה יותר וייתכן שפחות בטוחה. דיקוי תאריכים מתבצע גם בדרך של חישוב ימים עסקיים (לדוגמה, לא סופרים סופ"ש).

לקרוא גם: