歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C/C++中的時間操作

C/C++中的時間操作

日期:2017/3/1 10:25:34   编辑:Linux編程

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. #ifndef _TIME_T_DEFINED
  16. typedef long time_t;
  17. #define _TIME_T_DEFINED
  18. #endif
  19. #ifndef _CLOCK_T_DEFINED
  20. typedef long clock_t;
  21. #define _CLOCK_T_DEFINED
  22. #endif
Copyright © Linux教程網 All Rights Reserved