解析Linux下的時間函數(shù):設(shè)置以及獲取時間的方法
更新時間:2013年05月27日 09:24:12 作者:
本篇文章是對Linux下的時間函數(shù):設(shè)置以及獲取時間的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
一、時間函數(shù)
time_t time(time_t *t);
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);
struct tm *gmtime(const time_t *timep); //獲取的為英國時間
struct tm *gmtime_r(const time_t *timep, struct tm *result);
struct tm *localtime(const time_t *timep); //獲取的為本地時間,注意與英國時間的區(qū)別。
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
double difftime(time_t time1, time_t time0);
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv , const struct timezone *tz);
二、設(shè)置和獲取時間
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t t1;
time_t t2;
struct tm *my_tm;
char buf[128] = {0};
//自Epoch (00:00:00 UTC, January 1,1970)的秒數(shù)
t1 = time(&t1);
printf("%d\n", t1); //1355905754
t2 = time(&t2);
sleep(1);
printf("%lf\n", difftime(t2, t1)); //t1,t2相差:1.000000,有時候可以用這個函數(shù)來做偽定時器
printf("%s\n",ctime(&t1)); //Wed Dec 19 16:29:14 2012
//init tm
my_tm->tm_year = 2012-1900;
my_tm->tm_mon = 12-1;
my_tm->tm_mday = 12;
my_tm->tm_hour = 12;
my_tm->tm_min = 12;
my_tm->tm_sec = 12;
//設(shè)置時間
t1 = mktime(my_tm);
//獲取時間
my_tm = localtime(&t1);
sprintf(buf, "%04d-%02d-%02d %02d:%02d:%02d",
my_tm->tm_year + 1900, my_tm->tm_mon + 1, my_tm->tm_mday, my_tm->tm_hour, my_tm->tm_min, my_tm->tm_sec);
printf("%s\n", buf);//2012-12-12 12:12:12
return 0;
}
復(fù)制代碼 代碼如下:
time_t time(time_t *t);
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);
struct tm *gmtime(const time_t *timep); //獲取的為英國時間
struct tm *gmtime_r(const time_t *timep, struct tm *result);
struct tm *localtime(const time_t *timep); //獲取的為本地時間,注意與英國時間的區(qū)別。
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
double difftime(time_t time1, time_t time0);
int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv , const struct timezone *tz);
二、設(shè)置和獲取時間
復(fù)制代碼 代碼如下:
#include <stdio.h>
#include <time.h>
int main(void)
{
time_t t1;
time_t t2;
struct tm *my_tm;
char buf[128] = {0};
//自Epoch (00:00:00 UTC, January 1,1970)的秒數(shù)
t1 = time(&t1);
printf("%d\n", t1); //1355905754
t2 = time(&t2);
sleep(1);
printf("%lf\n", difftime(t2, t1)); //t1,t2相差:1.000000,有時候可以用這個函數(shù)來做偽定時器
printf("%s\n",ctime(&t1)); //Wed Dec 19 16:29:14 2012
//init tm
my_tm->tm_year = 2012-1900;
my_tm->tm_mon = 12-1;
my_tm->tm_mday = 12;
my_tm->tm_hour = 12;
my_tm->tm_min = 12;
my_tm->tm_sec = 12;
//設(shè)置時間
t1 = mktime(my_tm);
//獲取時間
my_tm = localtime(&t1);
sprintf(buf, "%04d-%02d-%02d %02d:%02d:%02d",
my_tm->tm_year + 1900, my_tm->tm_mon + 1, my_tm->tm_mday, my_tm->tm_hour, my_tm->tm_min, my_tm->tm_sec);
printf("%s\n", buf);//2012-12-12 12:12:12
return 0;
}
相關(guān)文章
C++數(shù)組放在main函數(shù)內(nèi)外的區(qū)別
大家好,本篇文章主要講的是C++數(shù)組放在main函數(shù)內(nèi)外的區(qū)別,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01C語言中結(jié)構(gòu)體的內(nèi)存對齊規(guī)則講解
C 數(shù)組允許定義可存儲相同類型數(shù)據(jù)項的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許你存儲不同類型的數(shù)據(jù)項,本篇讓我們來了解C 的結(jié)構(gòu)體內(nèi)存對齊2022-05-05C++11中value category(值類別)及move semantics(移動語義)的介紹
這篇文章主要給大家介紹了C++11中value category(值類別)及move semantics(移動語義)的介紹,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05