1

2 つの __time32_t オブジェクトを使用してデータベースへのカーソルを開き、クエリの開始時刻と終了時刻を指定する API を使用しています。

__time32_t にはサブ秒 (ミリ秒) の時間精度がありますか? MSDN はやや不明確です。

私が持っている time32_t オブジェクトはこれを行います:

currentET-=.1;

currentET から 10 ミリ秒を引いた時間になると思っていましたが、次のように 1 秒を減算するだけです。

currentET-=1;

この精度を time32_t オブジェクトに戻すにはどうすればよいですか?

4

2 に答える 2

6

__time32_tは単なる整数型です。整数であること以外に特定の解決策はありません。ただし、通常の関数 __time32_tは 1 秒の分解能で使用されます。

于 2011-04-15T12:45:19.897 に答える
0

1 秒未満の正確な時刻出力を生成する例を次に示します。TCHAR マクロの使用を許してください...古いコードベース。

void getCurrTimeString(TCHAR* mytime)
{
    _timeb myTime;
    struct tm * timeinfo;

    _ftime64_s( &myTime );
    time_t rawtime = myTime.time;
    unsigned short myMillis = myTime.millitm;
    timeinfo = localtime ( &rawtime );
    _stprintf(mytime,_T("%d-%02d-%02dT%02d:%02d:%02d.%03d"),
        (1900+timeinfo->tm_year),
        (timeinfo->tm_mon+1),
        timeinfo->tm_mday,
        timeinfo->tm_hour,
        timeinfo->tm_min,
        timeinfo->tm_sec,
        myMillis);
}
于 2011-04-15T12:54:49.530 に答える