Don't throw on getting invalid datetime

This commit is contained in:
Matt Nadareski
2020-10-04 13:29:26 -07:00
parent 0ce2a7dda5
commit bfab4a61e9

View File

@@ -1129,21 +1129,28 @@ namespace Compress.ZipFile
{ {
get get
{ {
if (_lastModFileDateTime == null) try
{ {
int second = (_lastModFileTime & 0x1f) * 2; if (_lastModFileDateTime == null)
int minute = (_lastModFileTime >> 5) & 0x3f; {
int hour = (_lastModFileTime >> 11) & 0x1f; int second = (_lastModFileTime & 0x1f) * 2;
int minute = (_lastModFileTime >> 5) & 0x3f;
int hour = (_lastModFileTime >> 11) & 0x1f;
int day = _lastModFileDate & 0x1f; int day = _lastModFileDate & 0x1f;
int month = (_lastModFileDate >> 5) & 0x0f; int month = (_lastModFileDate >> 5) & 0x0f;
int year = ((_lastModFileDate >> 9) & 0x7f) + 1980; int year = ((_lastModFileDate >> 9) & 0x7f) + 1980;
return new DateTime(year, month, day, hour, minute, second); return new DateTime(year, month, day, hour, minute, second);
}
else
{
return SabreTools.Library.Tools.Utilities.ConvertMsDosTimeFormatToDateTime(_lastModFileDateTime.Value);
}
} }
else catch
{ {
return SabreTools.Library.Tools.Utilities.ConvertMsDosTimeFormatToDateTime(_lastModFileDateTime.Value); return DateTime.MinValue;
} }
} }
} }