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

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

איך לעשות:

הפונקציה strftime מספריית ה-<time.h> משמשת בדרך כלל למטרה זו. היא מאפשרת לך לעצב תאריך ושעה במגוון דרכים על ידי ציון מפרטי פורמט. הנה דוגמה מהירה:

#include <stdio.h>
#include <time.h>

int main() {
    char dateStr[100];
    time_t now = time(NULL);
    struct tm *ptm = localtime(&now);

    // המרת התאריך והשעה למחרוזת (למשל, "Wed Jun 30 21:49:08 2021")
    strftime(dateStr, sizeof(dateStr), "%a %b %d %H:%M:%S %Y", ptm);
    
    printf("התאריך והשעה הנוכחיים: %s\n", dateStr);
    return 0;
}

פלט לדוגמה עשוי להיראות כך:

התאריך והשעה הנוכחיים: Wed Jun 30 21:49:08 2021

ניתן להתאים אישית את הפורמט על ידי שינוי מפרטי הפורמט המועברים ל-strftime. לדוגמה, כדי לקבל את התאריך בפורמט YYYY-MM-DD, היית משתמש ב-"%Y-%m-%d".

טבילה עמוקה

הפונקציה strftime וספריית ה-<time.h> הן חלק מספריית התקנים של שפת C, שחוזרת לתקן אנס"י ה-C המקורי (C89/C90). למרות שגישה זו פשוטה ונתמכת במגוון רחב של פלטפורמות, היא עשויה להיראות נמוכה ומסורבלת לעומת שפות תכנות מודרניות שמציעות ספריות תאריך ושעה יותר אינטואיטיביות.

כדאי לשים לב, על אף שפונקציות הזמן של ספריית התקנים של C נתמכות ברחבי ופשוטות לשימוש, הן חסרות כמה מהמאפיינים המורכבים יותר של ניהול אזורי זמן ואינטרנציונליזציה הנמצאים בספריות של שפות חדשות יותר או בספריות C של צד שלישי כמו International Components for Unicode (ICU).

עם זאת, יכולות ההתאמה האישית של הפונקציה strftime והתמיכה הרחבה בפלטפורמות שונות הופכות אותה לכלי אמין ושימושי להמרת מחרוזות תאריך ב-C. תכנתים הבאים משפות עם ספריות תאריך ושעה ברמה גבוהה יותר יצטרכו להסתגל לטבעה הנמוך שלה אך ימצאו אותה עוצמתית ומגוונת במיוחד לעיצוב תאריכים ושעות למגוון יישומים.