0

現在、定義された値から CTime オブジェクトを作成するコードがあります。

#define TIME_VALUE 0x301DDF00  // Aug 1, 1995 @ 04:00:00

CTime t = CTime( TIME_VALUE );

これにより、1995 年 8 月 1 日 04:00:00 という目的の日付が作成されます。

CTime を使用できなくなったため、代わりに time_t と tm を使用しようとしています。CTime コンストラクターは 1970 年 1 月 1 日からの秒数を取り、time_t は 1970 年 1 月 1 日からの秒数を表すため、次のコードを使用してみました。

#define TIME_VALUE 0x301DDF00  // Aug 1, 1995 @ 04:00:00

time_t tmpTime = TIME_VALUE;
struct tm createTime;

if( localtime_s( &createTime, &tmpTime ) == S_OK )
{ 
 // Use createTime
}

createTime は 0095 年 8 月 1 日 04:00:00 になります。定義された値から time_t および tm に正常に移行するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

ごめん。私は tm のドキュメントを十分に詳しく見ていませんでした。年は実際の年から 1900 年を引いたもので、月はゼロベースです。分かりました。

于 2010-10-08T20:59:20.330 に答える