FILETIME構造体に時間をずらしたりするには?

解決


HyperBeat  URL  2002-09-21 00:00:42  No: 50398  IP: [192.*.*.*]

質問です

FILETIME構造体に入っている時間データに3時間ずらしたりするには
するにはどうすれば良いのですか?

編集 削除
YuO  2002-09-21 01:32:10  No: 50399  IP: [192.*.*.*]

え〜っと,MSDNは読まれたのでしょうか?
http://msdn.microsoft.com/library/en-us/sysinfo/base/filetime_str.asp
に,
>It is not recommended that you add and subtract values from the FILETIME structure to obtain relative times. Instead, you should
>・Copy the resulting FILETIME structure to a ULARGE_INTEGER structure.
>・Use normal 64-bit arithmetic on the ULARGE_INTEGER value.
と書いてありますが。

編集 削除
HyperBeat  URL  2002-09-21 18:42:43  No: 50400  IP: [192.*.*.*]

__int64に変換して時間を足したらおかしな数値になっちゃいました

いまいちよくわからないです

編集 削除
YuO  2002-09-22 20:36:26  No: 50401  IP: [192.*.*.*]

> __int64に変換して時間を足したらおかしな数値になっちゃいました

どのようにプログラムを書いたのでしょう。
私が書いたプログラムは問題なく動きましたが。


FILETIME add_hour (const FILETIME * ft, int hour)
{
    ULONGLONG ull = *(const ULONGLONG *)ft;
    ull += (ULONGLONG)hour * 60 * 60 * 1000 * 1000 * 10;
    return *(FILETIME *)&ull;
}

編集 削除
HyperBeat  URL  2002-09-22 21:07:54  No: 50402  IP: [192.*.*.*]

__int64に変換した後、秒単位で足していました

わかりやすいサンプルありがとうございます

ありがとうございます。解決しました

編集 削除