use extension member for DateTime.UnixEpoch

This commit is contained in:
Marius Thesing
2025-05-09 22:56:03 +02:00
parent 6f8a60ec52
commit b70f75e38b
2 changed files with 19 additions and 8 deletions
@@ -0,0 +1,19 @@
#nullable enable
namespace System
{
internal static class DateTimeExtensions
{
extension(DateTime)
{
#if !NET
public static DateTime UnixEpoch
{
get
{
return new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
}
}
#endif
}
}
}
-8
View File
@@ -675,11 +675,7 @@ namespace Renci.SshNet
/// <param name="fileOrDirectory">The file or directory to upload.</param>
private void UploadTimes(IChannelSession channel, Stream input, FileSystemInfo fileOrDirectory)
{
#if NET
var zeroTime = DateTime.UnixEpoch;
#else
var zeroTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
#endif
var modificationSeconds = (long)(fileOrDirectory.LastWriteTimeUtc - zeroTime).TotalSeconds;
var accessSeconds = (long)(fileOrDirectory.LastAccessTimeUtc - zeroTime).TotalSeconds;
SendData(channel, string.Format(CultureInfo.InvariantCulture, "T{0} 0 {1} 0\n", modificationSeconds, accessSeconds));
@@ -856,11 +852,7 @@ namespace Renci.SshNet
var mtime = long.Parse(match.Result("${mtime}"), CultureInfo.InvariantCulture);
var atime = long.Parse(match.Result("${atime}"), CultureInfo.InvariantCulture);
#if NET
var zeroTime = DateTime.UnixEpoch;
#else
var zeroTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
#endif
modifiedTime = zeroTime.AddSeconds(mtime);
accessedTime = zeroTime.AddSeconds(atime);
continue;