המרת תאריך למחרוזת

C++:
המרת תאריך למחרוזת

איך לעשות:

ב-C++, ניתן להשתמש בספריית <chrono> לטיפול בתאריכים וזמנים ובספריית <iomanip> להמרתם למחרוזות.

#include <iostream>
#include <iomanip>
#include <chrono>
#include <sstream>

int main() {
    // קבלת תאריך נוכחי
    auto now = std::chrono::system_clock::now();
    std::time_t t = std::chrono::system_clock::to_time_t(now);
    std::tm* now_tm = std::localtime(&t);

    // שימוש ב- stringstream כדי ליצור מחרוזת עם התאריך
    std::stringstream ss;
    ss << std::put_time(now_tm, "%d-%m-%Y %H:%M:%S");
    std::string date_str = ss.str();

    // הדפסת התאריך כמחרוזת
    std::cout << date_str << std::endl;

    return 0;
}

תוצאת דוגמה:

04-02-2023 14:55:41

עמק השווה:

בעבר, המרת תאריכים למחרוזת הייתה פחות אינטואיטיבית בגלל שהיה צורך להתעסק עם ctime ופונקציות כמו strftime. מאז C++11, ספריית <chrono> מאפשרת טיפול נוח ובטוח יותר בזמן. לעומת זאת, ספריית <fmt> (שתוכננה להיות חלק מ-C++20) מציעה אפילו קצרה יותר לעיבוד מחרוזות של תאריכים ושעות. בנוסף, ישנן ספריות צד שלישי כמו Boost.Date_Time שמציעות פונקציונאליות דומה.

ראה גם: