У меня есть теория, почему следующий код не дает нужных мне результатов:
endDate = DateTime.UtcNow.AddDays(1).ToShortDateString() + " " +
DateTime.UtcNow.TimeOfDay.Subtract(
new TimeSpan(0, 0, 0, 0, DateTime.UtcNow.TimeOfDay.Milliseconds));
Процессор должен вычислить DateTime.UtcNow.TimeOfDay.Milliseconds
, и из-за продолжительности одного тика ЦП (и время обработки этого свойства и возврата результата), Это не означает, что DateTime.UtcNow.TimeOfDay.Milliseconds
вычтет точное количество миллисекунд, указанное в DateTime.UtcNow.TimeOfDay
Мне нужно знать, какой самый простой и эффективный способ удалить количество миллисекунд из DateTime. UtcNow.TimeOfDay
, без использования огромного количества процессорного времени?Это мое приложение довольно большое, и эта проблема довольно проста. Но когда это приложение развернуто, оно не может быть нестабильным. Эти миллисекунды необходимо обрезать, поскольку они отправляются хранимой процедуре в SQL Server, а эта конкретная хранимая процедура не поддерживает миллисекунды в DateTimes. Я также часто сталкиваюсь с этой проблемой, но обычно я конвертирую дату в строку (которая сама по себе является приведением), разбиваю строку на полной остановке в миллисекундах и использую позицию индекса 0, чтобы получить время, которое мне нужно. Есть ли более короткий и эффективный способ?
Для меня важнее всего стабильность и скорость.
Заранее спасибо