Моя программа получает время файла в формате ulong
, и мне нужно преобразовать его в формат DateTime
. Итак, вот функция, которую я написал.
public static DateTime fileTimeToDateTime(ulong fileTime)
{
long temp = (long)fileTime;
DateTime dt1 = DateTime.FromFileTime(temp);
return dt1;
}
Но для файлового времени 2213360000
функция возвращает 1/1/1601 12:00:00 AM
, но правильным должно быть 4/22/2009 3:28:29 PM
Итак, я использовал эту веб-страницу для преобразования файлового времени в удобочитаемое время, и это дает мне правильное значение. Значит, с моей функцией что-то не так. Затем я конвертирую правильную дату, используя этот код мира.
string windowsTime = "4/22/2009 3:28:29 PM";
DateTime time = DateTime.Parse(windowsTime);
long ft = time.ToFileTime();
Итак, здесь вывод ft
равен 128848589090000000
, и это не то время файла, которое я получил (2213360000
). Значит, что-то не так с тем, как я думаю. Есть идеи?