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

avatar
作者
猴君
阅读量:0

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” 的日期和时间。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!