EN
C# / .NET - subtract nanoseconds from DateTime
2
points
In C# / .NET it is possible to subtract nanoseconds from DateTime object in following way.
1. DateTime.AddTicks method example
long nanoseconds = 500;
DateTime time1 = new DateTime(2012, 1, 1, 12, 0, 0, 100);
DateTime time2 = time1.AddTicks(-nanoseconds / 100);
Console.WriteLine($"Old time: {time1:o}");
Console.WriteLine($"New time: {time2:o}");Output:
Old time: 2012-01-01T12:00:00.1000000
New time: 2012-01-01T12:00:00.0999995Note: maximum precision for DateTime structure is 100 ns, so it is impossible to see difference during operating on times that are smaller than 100 ns.
2. DateTime.Subtract method example
long nanoseconds = 500;
DateTime time1 = new DateTime(2012, 1, 1, 12, 0, 0, 100);
DateTime time2 = time1.Subtract(TimeSpan.FromTicks(nanoseconds / 100));
Console.WriteLine($"Old time: {time1:o}");
Console.WriteLine($"New time: {time2:o}");Output:
Old time: 2012-01-01T12:00:00.1000000
New time: 2012-01-01T12:00:00.0999995Note: maximum precision for DateTime structure is 100 ns, so it is impossible to see difference during operating on times that are smaller than 100 ns.