1

私はcでコードを書いています、そして私は与えられた現在の時間にミリ秒を追加する必要があります:

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

現地時間が20:00:00:10だとします。10秒を追加して、20:00:00:20と表示されるように表示したいと思います。私はcにかなり慣れていないので、どんな助けでも大歓迎です。時間はint形式であるため、混乱しています。ミリ秒を追加するには、intではない現在の秒に.001秒を追加する必要があります。

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 に答える