温馨提示×

C语言time()函数与日期时间的关系

小樊
81
2024-09-11 23:11:08
栏目: 编程语言

time() 是 C 语言中的一个函数,它用于获取当前日几时间的秒数。这个函数返回的是从 1970 年 1 月 1 日 00:00:00(UTC)到现在所经过的秒数。这个值通常被称为 “Unix 时间戳”。

time() 函数的原型如下:

#include <time.h>
time_t time(time_t* timer);

time() 函数接受一个指向 time_t 类型的指针作为参数。如果传入的是 NULL,那么函数将返回当前的 Unix 时间戳;否则,它会将当前的 Unix 时间戳存储在指针所指向的变量中,并返回该值。

下面是一个使用 time() 函数的简单示例:

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

int main() {
    time_t currentTime;
    currentTime = time(NULL);

    printf("当前的 Unix 时间戳是:%ld\n", (long)currentTime);
    return 0;
}

要将 Unix 时间戳转换为可读的日期和时间格式,可以使用 localtime()gmtime() 函数将其转换为 struct tm 结构体,然后使用 strftime() 函数将其格式化为字符串。下面是一个示例:

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

int main() {
    time_t currentTime;
    struct tm *localTime;

    currentTime = time(NULL);
    localTime = localtime(&currentTime);

    char formattedTime[26];
    strftime(formattedTime, sizeof(formattedTime), "%Y-%m-%d %H:%M:%S", localTime);

    printf("当前的日期和时间是:%s\n", formattedTime);
    return 0;
}

这个示例将输出类似于 “2022-01-01 12:34:56” 的日期和时间。

0