Loading AI tools
来自维基百科,自由的百科全书
time.h是C標準函式庫中取得時間與日期、對時間與日期數據操作及格式化的標頭檔。
time_t
表示。[1]:20time_t
類型實際上一般是32位元整數類型,因此表示的時間不能晚於UTC 2038-01-18 19:14:07。為此,某些編譯器引入了64位元甚至更長的整型來儲存日曆時間,如Visual C++支援__time64_t
資料類型,通過_time64()
函數取得日曆時間,可支援到UTC 3001-01-01 00:00:00的時間。clock_t
來表示,每秒鐘包含CLOCKS_PER_SEC
(time.h中定義的常數,一般為1000)個時鐘滴答,也可使用sysconf
函數得到每秒的時鐘滴答數。clock_t
類型一般是32位元整數類型。[1]:20tm
表示,tm
包含下列結構成員:time_t time(time_t* timer)
clock_t clock(void)
Windows API提供了更為精確的GetLocalTime()取得毫秒級的日曆時間;QueryPerformanceCounter和QueryPerformanceFrequency兩個函數取得高於1毫秒的精度。
struct tm* gmtime(const time_t* timer)
time_t
到分解時間tm
(世界協調時UTC)的轉換。函數返回的是一個靜態分配的tm
結構儲存空間,該儲存空間被gmtime
, localtime
與ctime
函數所共用. 這些函數的每一次呼叫會覆蓋這塊tm
結構儲存空間的內容。struct tm* gmtime_r(const time_t* timer, struct tm* result)
gmtime
函數的線程安全版本.struct tm* localtime(const time_t* timer)
time_t
到分解時間tm
的轉換,即結果數據已經調整到本地時區與夏令時。time_t mktime(struct tm* ptm)
tm
到日曆時間time_t
的轉換。忽略tm_wday與tm_yday的輸入值。如果tm_isdst不確定則輸入設為-1。其它各輸入域的值可以任意設定,輸出時被規範化到正確範圍。例如,想要計算2012年的第200天的日期,設為1月200日,函數會輸出正確的結果time_t timegm(struct tm* brokentime)
tm
(被視作UTC時間,不考慮本地時區設置)到日曆時間time_t
的轉換。該函數較少被使用。char *asctime(const struct tm* tmptr)
tm
輸出到字串,結果的格式為"Www Mmm dd hh:mm:ss yyyy",即「周幾 月份數 日數 小時數:分鐘數:秒鐘數 年份數」。函數返回的字串為靜態分配,長度不大於26,與ctime
函數共用。函數的每次呼叫將覆蓋該字串內容。char* ctime(const time_t* timer)
time_t timer
輸出到字串,輸出格式與asctime
函數一樣.size_t strftime(char* s, size_t n, const char* format, const struct tm* tptr)
tm
轉換為自訂格式的字串,類似於常見的字串格式輸出函數sprintf
。例如:strftime(buf, 64, "%Y-%m-%d %H:%M:%S", localtime);char * strptime(const char* buf, const char* format, struct tm* tptr)
strftime
的逆操作,把字串按照自訂的格式轉換為分解時間tm
。double difftime(time_t timer2, time_t timer1)
列印當前時間到標準輸出流:
# include <stdio.h>
# include <time.h>
int main(void)
{
time_t timer = time(NULL);
printf("ctime is %s\n", ctime(&timer));
return 0;
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.