如何在c中添加秒到当前时间?

时间:2013-02-11 23:07:23

标签: c time

我正在用c编写代码,我需要在当前时间加上毫秒:

current_time = time(NULL);
loc_time=localtime(&current_time);

说当地时间是20:00:00:10。我想添加10秒并显示它以便显示20:00:00:20。我是新手,所以任何帮助都非常感谢。 我很困惑,因为时间是int格式,并且要添加毫秒,我将不得不将.001秒添加到当前秒,这不是一个int。

3 个答案:

答案 0 :(得分:5)

time_t只是一个以秒为单位的整数,因此您只需向其中添加10:

time_wanted = time(NULL) + 10;
loc_time=localtime(&time_wanted);

答案 1 :(得分:0)

time以秒为单位返回时间,因此您只需在

中添加
time_t soon = current_time + 10;

答案 2 :(得分:0)

由于time() “将时间作为自纪元,1970-01-01 00:00:00 +0000(UTC)以来的秒数返回。”,所有你需要的要做的只是将10添加到其返回值:

time_t timeNow;
struct tm* time_info;
time(&timeNow);
time_info = localtime(&timeNow);
char timeStr[sizeof"HH:MM:SS"];
strftime(timeStr, sizeof(timeStr), "%H:%M:%S", time_info);
printf("Time now: %s\n", timeStr);

// add 10 seconds:
timeNow += 10;
time_info = localtime(&timeNow);
strftime(timeStr, sizeof(timeStr), "%H:%M:%S", time_info);
printf("New time: %s\n", timeStr);

请参阅full example