下面就是Linux區(qū)別gmtime和localtime函數(shù)的相關(guān)介紹了,從下面的代碼運行結(jié)果中可以看出,gmtime和localtime的用法是有些區(qū)別的。gmtime和localtime是兩種不同的函數(shù),不少人在使用的時候容易將兩者混淆,下面小編就教你Linux下如何辨別gmtime和localtime的使用,以便你下次能夠正確使用。
區(qū)別:
#include 《time.h》
#include 《stdio.h》
int main(int argc, char **argv)
{
time_t tmpcal_ptr = {0};
struct tm *tmp_ptr = NULL;
tmpcal_ptr = time(NULL);
printf(“tmpcal_ptr=%dn”, tmpcal_ptr);
tmp_ptr = gmtime(&tmpcal_ptr);
printf(“after gmtime, the time is:n%d:%d:%d”, tmp_ptr-》tm_hour, tmp_ptr-》tm_min, tmp_ptr-》tm_sec);
tmp_ptr = localtime(&tmpcal_ptr);
printf(“after localtime, the time is:n%d:%d:%d”, tmp_ptr-》tm_hour, tmp_ptr-》tm_min, tmp_ptr-》tm_sec);
return 0;
}
運行結(jié)果如下:
基本的意思是,gmtime轉(zhuǎn)出來的是0時區(qū)的標(biāo)準(zhǔn)時間
localtime是將時區(qū)考慮在內(nèi)了,轉(zhuǎn)出的當(dāng)前時區(qū)的時間。但是注意,有些嵌入式設(shè)備上被裁減過的系統(tǒng),時區(qū)沒有被設(shè)置好,導(dǎo)致二者轉(zhuǎn)出來的時間都是0時區(qū)的。