我正在用c编写代码,我需要在当前时间加上毫秒:
current_time = time(NULL);
loc_time=localtime(¤t_time);
说当地时间是20:00:00:10。我想添加10秒并显示它以便显示20:00:00:20。我是新手,所以任何帮助都非常感谢。 我很困惑,因为时间是int格式,并且要添加毫秒,我将不得不将.001秒添加到当前秒,这不是一个int。
答案 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