CTime::GetTime()
メソッドの動作をC#で実装しようとしています。
ここに、私のコンソール アプリケーション (C++/CLI で記述) のコード スニペットがあります。
int main(array<System::String ^> ^args)
{
int epochYear = 1970;
int epochMonth = 1;
int epochDay = 1;
DateTime managedEpochDate = DateTime(epochYear, epochMonth, epochDay);
int year = 2013;
int month = 2;
int day = 13;
int hour = 9;
int minutes = 49;
int seconds = 46;
// DateTime/CTime -> Numeric Time (__time64_t)
DateTime managedDateTime = DateTime(year, month, day, hour, minutes, seconds);
CTime nativeDateTime = CTime(year, month, day, hour, minutes, seconds);
DWORD nativeTimeToSerialize = nativeDateTime.GetTime();
UInt32 managedTimeToSerialize = (managedDateTime - managedEpochDate)
.TotalSeconds;
}
最後に、次の異なる値があります。
- nativeTimeToSerialize = 1360745386
- managedTimeToSerialize = 1360748986
この違いの理由を理解するのを手伝ってくれる人はいますか?