Win32API質問箱 Build33
■ このスレッドは過去ログ倉庫に格納されています
0187デフォルトの名無しさん
2005/07/07(木) 13:24:40タイムゾーンを考慮した何らかの変換が行われるのでしょうか。といいますのも、下のプログラムを実行すると
2005/07/06 20:10:10 ...(1)による出力
2005/07/06 20:10:10 ...(2)
2005/07/06 13:10:10 ...(3)
2005/07/06 20:10:10 ...(4)
と出力されるのですが、(2)と(3)で値が異なってしまうのはなぜでしょうか。
ちなみにアメリカ在住でタイムゾーンを((GMT-08:00) Pacific Time (US & Canada))に設定しています。
static string CTime_AsString( CTime& zCTime ){ char acBuff[1024]; sprintf( acBuff, "%d/%02d/%02d %02d:%02d:%02d", zCTime.GetYear(), zCTime.GetMonth(), zCTime.GetDay(), zCTime.GetHour(), zCTime.GetMinute(), zCTime.GetSecond() ); return acBuff; }
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
/*(1)*/CTime zAsCTime( 2005, 7, 6, 20, 10, 10 );
cout << CTime_AsString( zAsCTime ) << endl;
/*(2)*/SYSTEMTIME zAsSYSTEMTIME; zAsCTime.GetAsSystemTime( zAsSYSTEMTIME );
cout << CTime_AsString( CTime(zAsSYSTEMTIME) ) << endl;
/*(3)*/FILETIME zAsFILETIME; SystemTimeToFileTime( &zAsSYSTEMTIME, &zAsFILETIME );
cout << CTime_AsString( CTime(zAsFILETIME) ) << endl;
/*(4)*/FILETIME zAsFILETIME2; LocalFileTimeToFileTime( &zAsFILETIME, &zAsFILETIME2 );
cout << CTime_AsString( CTime(zAsFILETIME2) ) << endl;
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています