1

我正在用 c 编写代码,我需要将毫秒添加到由给出的当前时间:

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

假设当地时间是 20:00:00:10。我想添加 10 秒并显示它,以便显示 20:00:00:20。我对c相当陌生,因此非常感谢任何帮助。我很困惑,因为时间是 int 格式,并且要添加毫秒,我必须将 .001 秒添加到不是 int 的当前秒。

4

3 回答 3

5

time_t只是一个以秒为单位的整数,所以您只需将 10 添加到它:

time_wanted = time(NULL) + 10;
loc_time=localtime(&time_wanted);
于 2013-02-11T23:13:49.647 回答
0

由于“将时间返回为自纪元 1970-01-01 00:00:00 +0000 (UTC) 以来的秒数。” ,您需要做的只是添加到它的返回值:time() 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);

查看完整示例

于 2013-02-11T23:21:21.793 回答
-1

time返回以秒为单位的时间,因此您可以简单地添加

time_t soon = current_time + 10;
于 2013-02-11T23:13:56.493 回答