我正在用 c 编写代码,我需要将毫秒添加到由给出的当前时间:
current_time = time(NULL);
loc_time=localtime(¤t_time);
假设当地时间是 20:00:00:10。我想添加 10 秒并显示它,以便显示 20:00:00:20。我对c相当陌生,因此非常感谢任何帮助。我很困惑,因为时间是 int 格式,并且要添加毫秒,我必须将 .001 秒添加到不是 int 的当前秒。
time_t
只是一个以秒为单位的整数,所以您只需将 10 添加到它:
time_wanted = time(NULL) + 10;
loc_time=localtime(&time_wanted);
由于“将时间返回为自纪元 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);
查看完整示例
time
返回以秒为单位的时间,因此您可以简单地添加
time_t soon = current_time + 10;