用C11获取时间日期

时间:2022-06-26 17:20:13

以下是使用C11特性获取当前日期时间的方法

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


int main(int argc, char **argv)
{
    // 获取本地时间
    time_t ticks = time(NULL);

    tm local_time;

    localtime_s(&local_time, &ticks);

    // 格式化日期
    char date[11];

    if (0 == strftime(date, sizeof(date), "%F", &local_time))
    {
        printf_s("File:%s Line:%ld 获取日期失败\n", __FILE__, __LINE__);
        return -1;
    }
    else
    {
        printf_s("%s\n", date);
    }

    // 格式化日期时间
    char date_time[20];

    if (0 == strftime(date_time, sizeof(date_time), "%F %T", &local_time))
    {
        printf_s("File:%s Line:%ld 获取日期时间失败\n", __FILE__, __LINE__);
        return -1;
    }
    else
    {
        printf_s("%s\n", date_time);
    }

    return 0;
}