time()
是 C 語言中的一個(gè)函數(shù),它用于獲取當(dāng)前日幾時(shí)間的秒數(shù)。這個(gè)函數(shù)返回的是從 1970 年 1 月 1 日 00:00:00(UTC)到現(xiàn)在所經(jīng)過的秒數(shù)。這個(gè)值通常被稱為 “Unix 時(shí)間戳”。
time()
函數(shù)的原型如下:
#include <time.h>
time_t time(time_t* timer);
time()
函數(shù)接受一個(gè)指向 time_t
類型的指針作為參數(shù)。如果傳入的是 NULL
,那么函數(shù)將返回當(dāng)前的 Unix 時(shí)間戳;否則,它會將當(dāng)前的 Unix 時(shí)間戳存儲在指針?biāo)赶虻淖兞恐校⒎祷卦撝怠?/p>
下面是一個(gè)使用 time()
函數(shù)的簡單示例:
#include<stdio.h>
#include <time.h>
int main() {
time_t currentTime;
currentTime = time(NULL);
printf("當(dāng)前的 Unix 時(shí)間戳是:%ld\n", (long)currentTime);
return 0;
}
要將 Unix 時(shí)間戳轉(zhuǎn)換為可讀的日期和時(shí)間格式,可以使用 localtime()
或 gmtime()
函數(shù)將其轉(zhuǎn)換為 struct tm
結(jié)構(gòu)體,然后使用 strftime()
函數(shù)將其格式化為字符串。下面是一個(gè)示例:
#include<stdio.h>
#include <time.h>
int main() {
time_t currentTime;
struct tm *localTime;
currentTime = time(NULL);
localTime = localtime(¤tTime);
char formattedTime[26];
strftime(formattedTime, sizeof(formattedTime), "%Y-%m-%d %H:%M:%S", localTime);
printf("當(dāng)前的日期和時(shí)間是:%s\n", formattedTime);
return 0;
}
這個(gè)示例將輸出類似于 “2022-01-01 12:34:56” 的日期和時(shí)間。