Метод datetime AddMinutes не работает

цель моего метода-получить currentTime и установить его обратно на 20 минут. Для того, что я вижу, мой метод верен, но результат показывает что-то еще.

Это мой код:

DateTime currentTime = DateTime.Now;
double minuts = -20;
currentTime.AddMinutes(minuts);

Console.WriteLine("Nuværende tid: "+currentTime);

выходные данные следующие:

25-11-2011 14:01:54

мой результат должен быть:

25-11-2011 13:41:54.

спасибо!

6 ответов


описание

функция AddMinutes возвращает DateTime.

DateTime.AddMinutes способ Возвращает новое значение DateTime, добавляющее указанное количество минут к значению данного экземпляра.

пример

DateTime currentTime = DateTime.Now;
double minuts = -20;
currentTime = currentTime.AddMinutes(minuts);

Console.WriteLine("Nuværende tid: "+currentTime);

Дополнительная Информация


попробуй:

currentTime = currentTime.AddMinutes(minuts);

AddMinutes возвращает новый DateTime объект нужно так:

    DateTime currentTime = DateTime.Now;
    double minuts = -20;
    DateTime newTime = currentTime.AddMinutes(minuts);

    Console.WriteLine("Nuværende tid: "+newTime);

DateTime это "незыблемое", что означает, что вы не можете изменить существующий экземпляр, только новые. Например, строки одинаковы. Поэтому вам нужно использовать результат AddMinutes вызов, который дает вам ваш существующий currentTime С minuts переменной применяется.

currentTime = currentTime.AddMinutes(minuts);

...
currentTime = currentTime.AddMinutes(minuts); 
...

currentTime = DateTime.Now.AddMinutes(5.0f);