У меня есть теория, почему следующий код не продуцирующие результаты мне нужно:Что такое самый простой способ удалить часть Millisecond в 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
, без необходимости использовать огромное количество p время обработки? Это мое приложение довольно большое, и эта проблема довольно проста. Но когда это приложение будет развернуто, нет места для его неустойчивости. Эти миллисекунды должны быть обрезаны, поскольку они отправляются в хранимую процедуру в SQL Server, и эта конкретная хранимая процедура не поддерживает миллисекунды в DateTimes. Я также часто сталкиваюсь с этой проблемой, но обычно я конвертирую дату в строку (которая является литой по своему усмотрению), разбивает строку на полную остановку в миллисекундах и использует индексную позицию 0, чтобы получить нужное мне время. Есть более короткий, более эффективный способ?
Стабильность и скорость для меня важны.
Заранее спасибо
Не можете ли вы просто сделать '_myDate.Milliseconds = 0;'? – Alxandr
экземпляры @Alxandr 'DateTime' неизменяемы, поэтому [' Миллисекунды'] (http://msdn.microsoft.com/en-us/library/system.datetime.millisecond.aspx) не имеет установленного свойства. –
Зачем раскол, когда вы можете указать строковый формат без миллисекунд, вы могли бы снова разобрать его на 'DateTime' – V4Vendetta