歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C/C++中的時間操作

1. 詞匯解釋

Coordinated Universal Time(UCT)

協調世界時,又稱為世界標准時間,亦即格林威治標准時間(Greenwich Mean Time,GMT)。中國內地是UTC+8,美國是UTC-5。

Calendar Time

日歷時間,是用“從一個標准時間點到此時的時間經過的秒數”來表示的時間。這個標准時間點對不同的編譯器來說會有所不同,但對一個編譯系統來說,這個標准時間點是不變的,該編譯系統中的時間對應的日歷時間都通過該標准時間點來衡量,所以可以說日歷時間是“相對時間”,但是無論你在哪一個時區,在同一時刻對同一個標准時間點來說,日歷時間都是一樣的。

epoch

時間點,時間點在標准C/C++中是一個整數,它用此時的時間和標准時間點相差的秒數(即日歷時間)來表示。

clock tick

時鐘計時單元(而不把它叫做時鐘滴答次數),一個時鐘計時單元的時間長短是由CPU控制的。一個clock tick不是CPU的一個時鐘周期,而是C/C++的一個基本計時單位。

2. 相關數據類型和函數

頭文件"time.h"

數據定義:

  1. #ifndef _TM_DEFINED   
  2. struct tm {  
  3.         int tm_sec;     // 秒 – 取值區間為[0,59];   
  4.         int tm_min;     // 分 - 取值區間為[0,59];   
  5.         int tm_hour;    // 時 - 取值區間為[0,23];   
  6.         int tm_mday;    // 一個月中的日期 - 取值區間為[1,31];   
  7.         int tm_mon;     // 月份(從一月開始,0代表一月) - 取值區間為[0,11];   
  8.         int tm_year;    // 年份,其值等於實際年份減去1900;   
  9.         int tm_wday;    // 星期 – 取值區間為[0,6],其中0代表星期天,1代表星期一,以此類推;   
  10.         int tm_yday;    // 從每年的1月1日開始的天數 – 取值區間為[0,365],其中0代表1月1日,1代表1月2日,以此類推;   
  11.         int tm_isdst;   // 夏令時標識符,實行夏令時的時候,tm_isdst為正。不實行夏令時的進候,tm_isdst為0;不了解情況時為負;   
  12. }  
  13. #define _TM_DEFINED   
  14. #endif   
  15.   
  16. #ifndef _TIME_T_DEFINED   
  17. typedef long time_t;   
  18. #define _TIME_T_DEFINED    
  19. #endif   
  20.   
  21. #ifndef _CLOCK_T_DEFINED   
  22. typedef long clock_t;  
  23. #define _CLOCK_T_DEFINED   
  24. #endif  
Copyright © Linux教程網 All Rights Reserved