2010-11-16 84 views

回答

17
#include <time.h> 

time_t seconds_past_epoch = time(0); 

適用於大多數操作系統。

+2

自紀元以來的時間,而不是自1970年1月1日以來的時間。 – MSalters 2010-11-17 10:08:12

+0

@salters這是新紀元...... – tkbx 2012-12-22 17:34:18

+0

@tkbx:這是_UNIX_時代,現在也在Windows上使用。嵌入式系統不同。 – MSalters 2012-12-28 17:08:14

5

time_t的時間(無效) time_t的時間(time_t的* PTR)

包括:time.h中

返回自午夜以來經過的秒數,1970年1月1日格林尼治標準時間(或日下午,31日1969年12月)。如果參數不是NULL,則相同的值存儲在指向的位置。按照此鏈接瞭解time_t類型的信息。返回的值可以用作度過時間的可靠度量,並且可以傳遞給ctime()或轉換爲可讀的字符串。

實施例:

time_t t1=time(NULL); 
do_something_long(); 
time_t t2=time(NULL); 
printf("%d seconds elapsed\n", t2-t1); 

time_t的值是從由時間時鐘產生的。 time_t值是由y,m,d,h,m,s部分產生的mktime和timegm。 通過本地時間和gmtime將time_t值分析爲y,m,d,h,m,s。 time_t值由ctime轉換爲可讀的字符串。

+0

時間只會在POSIX系統上返回秒數。 – Daniel 2013-11-18 16:40:02

2

man mktime

#include <time.h> 

time_t secsSinceEpoch = mktime(localtime(NULL)); 
相關問題