Member 14169626 Ответов: 3

Как получить разницу между двумя временами в C#?


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

Например:сейчас =>10:00
Хотите время=> 12:00

Если (время1=время2)
{
Мой метод();
}

Что я уже пробовал:

Я хочу взять два раза.
f (time1=time2)
{
Mymethod();
}

3 Ответов

Рейтинг:
2

Richard MacCutchan

Во-первых, вам нужно проверить правильный оператор на равенство. Выражение

if (time1=time2)

будет присвоено значение time2 для time1. Вам нужно использовать правильный оператор:
if (time1 == time2)

Во-вторых, используйте Датавремя Структуры (Система) | Майкрософт Документы[^] который содержит методы, операторы и свойства для решения большинства проблем.


Afzaal Ahmad Zeeshan

Помимо назначения, в C# это также даст ошибку компиляции, так как if ожидает логическое значение—это будет отлично работать в C++ на основе результирующего значения.

Richard MacCutchan

- Вы правы. Интересно, почему некоторые из этих плакатов так боятся попробовать что-нибудь.

Рейтинг:
0
Рейтинг:
0

OriginalGriff

Просто чтобы добавить к другим ответам, сравнение значений времени-это не просто тест на равенство: значения DateTime хранятся как количество тиков с определенного момента времени, а ТИК составляет сто наносекунд или одну десятимиллионную секунды - поэтому сравнение временной части времени даты будет равным только в том случае, если два раза совпадают с точкой 100 наносекунд, что является очень коротким окном. Вот почему большинство сравнений не являются тестами на равенство, они больше или равны проверкам - первый экземпляр, превышающий минимум, является тем, который сигнализирует о том, что что-то должно произойти.