0

2 つのファイルの DateTime を比較しようとしていますが、一致しない場合は、古いファイル (宛先) を新しいファイル (ソース) で上書きします。それにもかかわらず、デバッグ時の DateTime は「12/31/1600 6:00:00 PM」と表示され、他の誰かにこの問題がありましたか?

また、私のコードは次のとおりです。

DateTime srcTime = File.GetLastWriteTime(strSrcFile);

//loop through the list to compare the datetime of each file
foreach (var item in targetfiles)
{
DateTime dstTime = File.GetLastWriteTime(item.ToString());

if (srcTime != dstTime)
{
File.Copy(sourcePath, Path.Combine(dstTargetPath, Path.GetFileName(strSrcFile)), true);
}
}

編集:みんな気にしないで、修正しました。ファイル名だけでなくフル パスを入力する必要があるとは知りませんでした。。御時間ありがとうございます!

4

1 に答える 1

4

File.GetLastWriteTime のドキュメントをお読みください。

path パラメーターで記述されたファイルが存在しない場合、このメソッドは、現地時間に調整された西暦 1601 年 1 月 1 日 (CE) 協定世界時 (UTC) の午前 12:00 を返します。

最後の部分に注意してください...それが、わずかに異なる日付と時刻が表示されている理由です.

于 2013-08-27T13:11:51.577 に答える