Какой самый простой способ удалить миллисекундную часть DateTime.UctNow.TimeOfDay?

У меня есть теория, почему следующий код не дает нужных мне результатов:

 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, чтобы получить время, которое мне нужно. Есть ли более короткий и эффективный способ?

Для меня важнее всего стабильность и скорость.

Заранее спасибо

8
задан Eon 19 March 2012 в 10:17
поделиться