找到自1970年1月1日以来经过多少秒

时间:2010-11-16 16:03:37

标签: c++

我正在寻找一个C ++函数来计算从1970年1月1日到今天已过去的秒数。

3 个答案:

答案 0 :(得分:24)

#include <time.h>

time_t seconds_past_epoch = time(0);

适用于大多数操作系统。

答案 1 :(得分:5)

time_t时间(无效) time_t time(time_t * ptr)

包括:time.h

返回自格林尼治标准时间1970年1月1日午夜(或美国东部时间1969年12月31日下午)以来经过的秒数。如果参数不为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产生。 time_t值通过localtime和gmtime分析为y,m,d,h,m,s。 time_t值由ctime转换为可读字符串。

答案 2 :(得分:2)

请参阅man mktime

#include <time.h>

time_t secsSinceEpoch = mktime(localtime(NULL));