2013-07-09 6 views
12

Staram następujące:Jak mogę porównać datę w C# „1/1/0001 12:00:00 AM”)

if (e.CreatedDate == "1/1/0001 12:00:00 AM") 

Ale to daje mi błąd mówiąc, że nie można porównywać Data do łańcucha. Jak mogę to zrobić, więc sprawdzam, czy wartość CreatedDate jest równa "1/1/0001 12:00:00 AM", co domyślam się domyślam?

+0

StackOverflow, proszę wyjąć anonimowego głosowania w dół. Proszę pozwolić użytkownikom, którzy głosują, podać powód. Nie każdy jest ekspertem. Musiałam także porównać dane, takie jak przypadek Meliny. Odpowiedź @ Praveen pomogła mi. – user007

+0

@ user007 powinieneś o tym porozmawiać na stronie meta stackoverflow – Sameer

Odpowiedz

52

Można użyć DateTime.MinValue, który ma dokładnie taką samą wartość:

if (e.CreatedDate == DateTime.MinValue) 
6

aby sprawdzić, czy jest on równy domyślne, można użyć default kluczowe:

if (e.CreatedDate == default(DateTime)) 
9

„1/1/0001 12:00:00 AM "jest to typ danych string. więc przekonwertuj go na DateTime.

if (e.CreatedDate == Convert.ToDateTime("1/1/0001 12:00:00 AM")) 
{ 
    //--- To Dos 
} 

Ale .NET Framework dostarcza domyślny sposób, aby sprawdzić za pomocą

if (e.CreatedDate.Equals(DateTime.MinValue))

MSDN

6

użytkowania DateTime.MinValue

if (e.CreatedDate.Equals(DateTime.MinValue)) 
+2

Równa się czuje lepiej, gdy porównuję te wierzenia. +1 –

4

Można sprawdzić wartość domyślną z DateTime.MinValue:

if (e.CreatedDate == DateTime.MinValue) 
4

Należy użyć funkcji DateTime.Compare (DateTime, DateTime), która zwraca liczbę całkowitą. Np.

if (DateTime.Compare(DateTime.MinValue, e.CreatedDate) == 0){ 
    ... 
} 
4

Zakładam, że e.CreateDate jest typu DateTime.

Spróbuj to lubią:

if (e.CreatedDate == DateTime.Parse("1/1/0001 12:00:00 AM")) 

Jeśli urządzenie mające na celu porównanie jeśli jest równa minimalnej daty potem po prostu porównać go do DateTime.MinValue. Powyższy przykład jest bardziej ogólny.

-1

Musisz wstawić "1/1/0001 12:00:00 AM" do formatu daty, aby porównać go w swoim, jeśli.

if(e.CreatedDate == ((Date)"1/1/0001 12:00:00 AM")) 
+0

-1: Nie ma typu o nazwie "Data", a nawet jeśli użyłeś poprawnego 'DateTime', nie możesz bezpośrednio rzucić go z' ciągu' –

0

może trzeba ciąg porównania, więc można to zrobić jak ten

e.CreatedDate.ToString(FORMAT)=="1/1/0001 12:00:00 AM" 
Powiązane problemy