2014-02-03 1 views
1

У меня есть переменная DateTime, чтобы дать мне время. Я хочу отрегулировать значение с момента времени до 3 секунд раньше. Позвольте мне дать вам пример:Datetime C#: вычитание свободного времени в текущем времени

CurrentTime = 2/3/2014 12:59:49 PM

Я хочу CurrentTime = 2/3/2014 12:59:46 PM

Что я могу получить этот результат и сохранить переменную типа DateTime?

ответ

1

Вы можете вычитать любой заданный промежуток времени путем добавления секунды/минуты/часы/дни/и т.д. из DateTime

DateTime before = CurrentTime.AddSeconds(-3); 

код основан на вашем примере (вы вычитали 3 секунды от времени)

+0

Огромное спасибо! – kknaguib

3
var newTime = CurrentTime - TimeSpan.FromMilliseconds(3.0); 

На примере, который вы показываете, кажется, что вы действительно хотите время за 3 секунды до этого, а не 3 миллисекунды. Если это так, просто измените его

var newTime = CurrentTime - TimeSpan.FromSeconds(3.0); 

и если вы хотите, чтобы изменить значение CurrentTime просто сделать CurrentTime = следует либо из предыдущих заявлений.

+0

Да, извините Я отредактировал его. Я имел в виду 3 секунды. Спасибо за решение – kknaguib

2

Вы можете проверить MSDN это DateTime есть что-то вроде AddMilliseconds и использовать его

CurrentTime = CurrentTime.AddMilliseconds(-3); 

Обратите внимание, что DateTime является непреложным тип значения, поэтому вам необходимо повторно назначить CurrentTime результату AddMilliseconds (который генерирует новые экземпляры от DateTime).

Смежные вопросы