Между tnet ядром 2.1 и 3.1 (около конца 2019 г.) поведение System.TimeSpan изменилось , так что фабричных методов нет более длинный раунд с точностью до 1 мс.
Существует проблема GitHub об этом здесь .
Осторожно: текущая документация не была обновлена для отражения изменений в поведении, вывод кода примера теперь неверно на сайте: System.TimeSpan.FromSeconds .
In. net core 2.1 и Net Framework, созданный TimeSpan, округляется до ближайших мс:
FromSeconds TimeSpan
----------- --------
0.001 00:00:00.0010000
0.0015 00:00:00.0020000
12.3456 00:00:12.3460000
123456.7898 1.10:17:36.7900000
1234567898.7654 14288.23:31:38.7650000
1 00:00:01
60 00:01:00
3600 01:00:00
86400 1.00:00:00
1801220.2 20.20:20:20.2000000
In. net core 3.1 не округляется до ближайших мс (например, 12.3456):
FromSeconds TimeSpan
----------- --------
0.001 00:00:00.0010000
0.0015 00:00:00.0015000
12.3456 00:00:12.3455999
123456.7898 1.10:17:36.7898000
1234567898.7654 14288.23:31:38.7654000
1 00:00:01
60 00:01:00
3600 01:00:00
86400 1.00:00:00
1801220.2 20.20:20:20.2000000