[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
- Newer : Outlook の.msgを読み込む
- Older : ウィルコム新つなぎ放題、イーモバイル音声プラン
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
http://support.microsoft.com/kb/167296 に、Unix Time(time_t)からFILETIMEへの変換方法が載っています。
d_timeは1970年1月1日からの経過時間で、Unix Timeとは始点は同様ですが、粒度が違います。
wftがFILETIMEを64ビット整数に格納したとして、オーバーフローを考慮しないとすれば、
d_time Win32FILETIME2d_time(ulong wft)
{
wft -= 116444736000000000; // 1970年までおろす。
return wft * TicksPerSecond / 10000000;
}
という変換関数が書き下せます。Phobos内にはFILETIMEをd_timeに変換する部分があるのですが一度SYSTEMTIMEにしてから変換をかけています。理論上、FILETIMEからSYSTEMTIMEにするとミリ秒に丸められちゃうんですよね。そんな細かく使っているか確かめてもいませんし、神経質になるほどの粒度ではないんですが。
2008/03/01 Programming Comment(0)
COMMENT
COMMENT FORM