C 標(biāo)準(zhǔn)庫(kù) - <time.h>
C 庫(kù)函數(shù) struct tm *gmtime(const time_t *timer) 使用 timer 的值來(lái)填充 tm 結(jié)構(gòu),并用協(xié)調(diào)世界時(shí)(UTC)也被稱為格林尼治標(biāo)準(zhǔn)時(shí)間(GMT)表示。
下面是 gmtime() 函數(shù)的聲明。
struct tm *gmtime(const time_t *timer)
該函數(shù)返回指向 tm 結(jié)構(gòu)的指針,該結(jié)構(gòu)帶有被填充的時(shí)間信息。下面是 timeptr 結(jié)構(gòu)的細(xì)節(jié):
struct tm {
int tm_sec; /* 秒,范圍從 0 到 59 */
int tm_min; /* 分,范圍從 0 到 59 */
int tm_hour; /* 小時(shí),范圍從 0 到 23 */
int tm_mday; /* 一月中的第幾天,范圍從 1 到 31 */
int tm_mon; /* 月份,范圍從 0 到 11 */
int tm_year; /* 自 1900 起的年數(shù) */
int tm_wday; /* 一周中的第幾天,范圍從 0 到 6 */
int tm_yday; /* 一年中的第幾天,范圍從 0 到 365 */
int tm_isdst; /* 夏令時(shí) */
};下面的示例演示了 gmtime() 函數(shù)的用法。
#include <stdio.h>
#include <time.h>
#define BST (+1)
#define CCT (+8)
int main ()
{
time_t rawtime;
struct tm *info;
time(&rawtime);
/* 獲取 GMT 時(shí)間 */
info = gmtime(&rawtime );
printf("當(dāng)前的世界時(shí)鐘:\n");
printf("倫敦:%2d:%02d\n", (info->tm_hour+BST)%24, info->tm_min);
printf("中國(guó):%2d:%02d\n", (info->tm_hour+CCT)%24, info->tm_min);
return(0);
}讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
當(dāng)前的世界時(shí)鐘: 倫敦:14:10 中國(guó):21:10