Jak mogę sprawdzić za pomocą jakiejś formy if
rachunku jeśli pewnego DateTime
(znaczy w tym przypadku o nazwie dateAndTime1) przypada przed aktualną datą i godziną, która przypuszczam będą pobierane za pomocą DateTime.Now
?Sprawdzenie czy DateTime jest przed DateTime.Now
Odpowiedz
if(dateAndTime1 < DateTime.Now)
{
//do something
}
Och, dziękuję, nie zdawałem sobie sprawy, że to było tak proste. – Newbie
<, < =,>,> = i == operatorzy pracują na przypadkach DateTime, tak
if(dateAndTime1 < DateTime.Now)
Zauważ, że jeśli porównać to w pętli, jakaś mała wydajność można osiągnąć ustawiając DateTime now = DateTime.Now
przed pętli i porównywaniu na now
na swoją notatkę: masz rację, z wyjątkiem przypadku krawędzi, gdzie jest to długotrwały proces, a 'teraz' zawsze musi być bezpośrednim' DateTime.Now'. Dzieje się tak dlatego, że przy ustawianiu zmiennej 'now' będzie ona nieaktualna w długich procesach ... tak jak powiedziałem," przypadek krawędzi ", i prawdopodobnie rzadko doświadczany. –
Dobra sprawa Chase – welegan
if(dateTime1 < DateTime.Now){}
Inline wag orkowie też.
// bool variable
bool isHistory = dateAndTime1 < DateTime.Now;
// string return statement
return dateAndTime1 < DateTime.Now ? "History" : "Future";
Dla dobra wszystkich osób nazwa wyrażenia użytego w twoim przykładzie jest potrójnym wyrażeniem. – Jim
http://msdn.microsoft.com/en-us/library/system.datetime.compare.aspx .. jest jednym ze sposobów. Jak już inni już zauważyli, zwykle działają też operatorzy porównania. –
Co jest nie tak z 'if (dateAndTime1