亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux下用C獲取當前時間

2024-09-05 23:03:33
字體:
來源:轉載
供稿:網友

Linux下用C獲取當前時間,具體如下:

代碼(可以把clock_gettime換成time(NULL))

void getNowTime(){ timespec time; clock_gettime(CLOCK_REALTIME, &time); //獲取相對于1970到現在的秒數 tm nowTime; localtime_r(&time.tv_sec, &nowtime); char current[1024]; sprintf(current, "%04d%02d%02d%02d:%02d:%02d", nowTime.tm_year + 1900, nowTime.tm_mon, nowTime.tm_mday,   nowTime.tm_hour, nowTime.tm_min, nowTime.tm_sec);}

分析:

clock_gettime()

 函數"clock_gettime"是基于Linux C語言的時間函數,他可以用于計算精度和納秒。

語法:

#include<time.h>int clock_gettime(clockid_t clk_id,struct timespec *tp);

參數:

clk_id : 檢索和設置的clk_id指定的時鐘時間。

CLOCK_REALTIME:系統實時時間,隨系統實時時間改變而改變,即從UTC1970-1-1 0:0:0開始計時,中間時刻如果系統時間被用戶改成其他,則對應的時間相應改變

  •   CLOCK_MONOTONIC:從系統啟動這一刻起開始計時,不受系統時間被用戶改變的影響
  •   CLOCK_PROCESS_CPUTIME_ID:本進程到當前代碼系統CPU花費的時間
  •   CLOCK_THREAD_CPUTIME_ID:本線程到當前代碼系統CPU花費的時間
struct timespec{time_t tv_sec; /* 秒*/long tv_nsec; /* 納秒*/};

localtime()

localtime是 把從1970-1-1零點零分到當前時間系統所偏移的秒數時間轉換為本地時間.

語法

說明:此函數獲得的tm結構體的時間是日歷時間。

用 法: struct tm *localtime(const time_t *clock);

返回值:返回指向tm 結構體的指針.tm結構體是time.h中定義的用于分別存儲時間的各個量(年月日等)的結構體.

例1:

#include <stdio.h>#include <stddef.h>#include <time.h>int main(void){ time_t timer;//time_t就是long int 類型 struct tm *tblock; timer = time(NULL); tblock = localtime(&timer); printf("Local time is: %s/n", asctime(tblock)); return 0;}

執行結果:

Local time is: Mon Feb 16 11:29:26 2009

例2:

上面的例子用了asctime函數,下面這個例子不使用這個函數一樣能獲取系統當前時間。需要注意的是年份加上1900,月份加上1。

#include<time.h>#include<stdio.h>int main(){ struct tm *t; time_t tt; time(&tt); t = localtime(&tt); printf("%4d年%02d月%02d日 %02d:%02d:%02d/n", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); return 0;}

localtime()與localtime_r()的區別

localtime():

#include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h>  using namespace std;  int main(int argc, char *argv[]) {  time_t tNow =time(NULL);  time_t tEnd = tNow + 1800;  //注意下面兩行的區別  struct tm* ptm = localtime(&tNow);  struct tm* ptmEnd = localtime(&tEnd);   char szTmp[50] = {0};  strftime(szTmp,50,"%H:%M:%S",ptm);  char szEnd[50] = {0};  strftime(szEnd,50,"%H:%M:%S",ptmEnd);     printf("%s /n",szTmp);  printf("%s /n",szEnd);     system("PAUSE");  return EXIT_SUCCESS; }

最后出來的結果是:

21:18:39

21:18:39

和最初想法不一致。

查閱localtime的文檔,發現這段話:

This structure is statically allocated and shared by the functions gmtime and localtime. Each time either one of these functions is called the content of this structure is overwritten.

也就是說每次只能同時使用localtime()函數一次,要不就會被重寫!

The localtime() function need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe.

因此localtime()不是可重入的。同時libc里提供了一個可重入版的函數localtime_r();

Unlike localtime(), the reentrant version is not required to set tzname。

修改程序:(localtime_r())

#include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h>  using namespace std;  int main(int argc, char *argv[]) {  time_t tNow =time(NULL);  time_t tEnd = tNow + 1800;   //在這里修改程序  //struct tm* ptm = localtime(&tNow);  //struct tm* ptmEnd = localtime(&tEnd);  struct tm ptm = { 0 };  struct tm ptmEnd = { 0 };  localtime_r(&tNow, &ptm);  localtime_r(&tEnd, &ptmEnd);    char szTmp[50] = {0};  strftime(szTmp,50,"%H:%M:%S",&ptm);  char szEnd[50] = {0};  strftime(szEnd,50,"%H:%M:%S",&ptmEnd);  printf("%s /n",szTmp);  printf("%s /n",szEnd);     system("PAUSE");  return EXIT_SUCCESS; }

最后出來的結果是:

10:29:06
10:59:06

tm

 struct tm {     int tm_sec;  /* 秒 – 取值區間為[0,59] */      int tm_min;  /* 分 - 取值區間為[0,59] */      int tm_hour;  /* 時 - 取值區間為[0,23] */      int tm_mday;  /* 一個月中的日期 - 取值區間為[1,31] */      int tm_mon;  /* 月份(從一月開始,0代表一月) - 取值區間為[0,11] */      int tm_year;  /* 年份,其值等于實際年份減去1900 */      int tm_wday; /* 星期 – 取值區間為[0,6],其中0代表星期天,1代表星期一 */      int tm_yday; /* 從每年1月1日開始的天數– 取值區間[0,365],其中0代表1月1日 */      int tm_isdst; /* 夏令時標識符,夏令時tm_isdst為正;不實行夏令時tm_isdst為0 */    };

time 函數

返回:1970-1-1, 00:00:00以來經過的秒數

原型: time_t time(time_t *calptr) 

結果可以通過返回值,也可以通過參數得到,見實例

頭文件 <time.h>

返回值: 

成功:秒數,從1970-1-1,00:00:00 可以當成整型輸出或用于其它函數

失?。?1

例:

 time_t now; time(&now);// 等同于now = time(NULL) printf("now time is %d/n", now);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一精品电影| 欧美最顶级丰满的aⅴ艳星| 国产精品青草久久久久福利99| 亚洲精品久久久久久久久久久久久| 欧美日韩美女视频| 亚洲第一av网站| 欧美成人小视频| 57pao成人永久免费视频| 成人高h视频在线| 日韩在线视频导航| 亚洲精品视频免费在线观看| 国产精品色午夜在线观看| 欧美激情精品久久久久久久变态| 亚洲网站在线播放| 国产精品免费一区二区三区都可以| 57pao成人永久免费视频| 欧美性在线视频| 中文字幕亚洲情99在线| 久久资源免费视频| 欧美成人激情视频免费观看| 成人免费视频在线观看超级碰| 日韩女优在线播放| 91超碰中文字幕久久精品| 欧美在线视频免费播放| 51ⅴ精品国产91久久久久久| 色妞一区二区三区| 日本成人激情视频| 欧美精品电影在线| 久久久久久国产免费| 黄色精品一区二区| 中文字幕一区二区精品| 国产噜噜噜噜久久久久久久久| 国产精品福利无圣光在线一区| 久久五月天综合| 久久久噜噜噜久久久| 亚洲国产成人精品电影| 亚洲精品国产精品自产a区红杏吧| 欧美日本在线视频中文字字幕| 日韩精品视频观看| 亚洲一区中文字幕在线观看| 国产一区二区三区三区在线观看| 4438全国亚洲精品在线观看视频| 日韩风俗一区 二区| 久久激情视频免费观看| 欧美日韩性视频| 精品人伦一区二区三区蜜桃网站| 国产极品jizzhd欧美| 亚洲午夜国产成人av电影男同| 欧美一区深夜视频| www欧美日韩| 91在线无精精品一区二区| 久久久久久久久国产精品| 欧美日韩另类在线| 亚洲高清在线观看| 欧美日韩国产成人在线| 91视频国产精品| 日韩激情在线视频| 2018日韩中文字幕| 国产欧美一区二区三区久久| 亚洲free嫩bbb| 欧美成人精品一区二区| 国产精品视频网址| 亚洲欧美在线免费| 精品国产美女在线| 人九九综合九九宗合| www高清在线视频日韩欧美| 日本精品久久电影| 91亚洲va在线va天堂va国| 日韩在线观看高清| 国产精品稀缺呦系列在线| 日本一欧美一欧美一亚洲视频| 亚洲欧美日韩天堂| 国产成人avxxxxx在线看| 欧美性猛交xxxx黑人| 中文字幕亚洲情99在线| 日韩欧美中文字幕在线观看| 亚洲国产免费av| 国产精品美女久久久免费| 国产精品免费久久久久影院| 亚洲第一区中文99精品| 国产成人精品久久二区二区| 热久久视久久精品18亚洲精品| 国产欧美日韩丝袜精品一区| 日韩成人av一区| 亚洲视频axxx| 久久久精品中文字幕| 欧美大奶子在线| 亚洲а∨天堂久久精品9966| 欧美黑人一区二区三区| 国产亚洲精品va在线观看| 欧美激情视频在线观看| 久久人人爽人人爽人人片亚洲| 曰本色欧美视频在线| 国产精品久久久久久av| 亚洲久久久久久久久久| 欧美午夜女人视频在线| 欧美日韩国产在线播放| 日韩在线高清视频| 91亚洲精品视频| 欧美日韩色婷婷| 亚洲美女精品成人在线视频| 青草热久免费精品视频| 在线观看精品国产视频| 国产亚洲精品久久久久动| 亚洲成色999久久网站| 久久精品国产综合| 成人av.网址在线网站| 久久久久久com| 欧美黑人xxxⅹ高潮交| 亚洲精品国产精品国产自| 亚洲国产日韩欧美在线图片| 日本高清+成人网在线观看| 久久久亚洲网站| 亚洲人成电影网站| 成人黄色午夜影院| 国产精品久久久久久久久借妻| 欧美中文字幕在线播放| 日韩在线视频免费观看| 亚洲激情在线视频| 久久不射热爱视频精品| 日韩亚洲国产中文字幕| 亚洲性视频网站| 国产精品久久二区| 日韩在线中文视频| 久久久国产精彩视频美女艺术照福利| 2019中文字幕全在线观看| 海角国产乱辈乱精品视频| 亚洲精品二三区| 精品国产乱码久久久久久婷婷| 欧美性猛交xxxx黑人| 国产成人小视频在线观看| 国产精品成人品| 亚洲18私人小影院| 国产精品久久久91| 亚洲精品之草原avav久久| 97在线视频免费| 在线精品91av| 美日韩精品视频免费看| 中文一区二区视频| 中文字幕亚洲精品| 中文字幕日韩综合av| 国产日韩在线观看av| 日日狠狠久久偷偷四色综合免费| 亚洲日本成人女熟在线观看| 海角国产乱辈乱精品视频| 日日噜噜噜夜夜爽亚洲精品| 国产精品视频1区| 97国产真实伦对白精彩视频8| 91av视频在线观看| 午夜精品久久久久久久99黑人| 亚洲第一网站免费视频| 欧美黑人一区二区三区| 最新国产精品拍自在线播放| 成人在线视频网| 黄色成人在线免费| 欧美猛交免费看| 精品日本美女福利在线观看| 黑人巨大精品欧美一区免费视频| 亚洲人成在线观看网站高清| 欧美电影免费播放| 91网在线免费观看| 国产精品国产自产拍高清av水多| 成人欧美一区二区三区在线| 亚洲一区二区自拍|