Получить текущий месяц, год и день в C

Чтобы получить текущий месяц, год и день в C, вы можете использовать функцию timeиз заголовочного файла . Вот несколько способов добиться этого:

Метод 1: использование функций timeи localtime

#include <stdio.h>
#include <time.h>
int main() {
    time_t currentTime = time(NULL);
    struct tm *localTime = localtime(&currentTime);

    int day = localTime->tm_mday;
    int month = localTime->tm_mon + 1;  // tm_mon ranges from 0 to 11
    int year = localTime->tm_year + 1900;  // tm_year represents years since 1900

    printf("Current date: %02d-%02d-%d\n", day, month, year);

    return 0;
}

Метод 2: использование функций timeи strftime

#include <stdio.h>
#include <time.h>
int main() {
    time_t currentTime = time(NULL);
    struct tm *localTime = localtime(&currentTime);

    char date[11];  // Format: "dd-mm-yyyy\0"
    strftime(date, sizeof(date), "%d-%m-%Y", localTime);

    printf("Current date: %s\n", date);

    return 0;
}

Метод 3. Использование функций timeи gmtime(время UTC)

#include <stdio.h>
#include <time.h>
int main() {
    time_t currentTime = time(NULL);
    struct tm *gmTime = gmtime(&currentTime);

    int day = gmTime->tm_mday;
    int month = gmTime->tm_mon + 1;  // tm_mon ranges from 0 to 11
    int year = gmTime->tm_year + 1900;  // tm_year represents years since 1900

    printf("Current date (UTC): %02d-%02d-%d\n", day, month, year);

    return 0;
}