Как сравнить дату в С# с "1/1/0001 12:00:00 AM" )

Я пытаюсь сделать следующее:

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

Но это дает мне ошибку, говоря, что я не могу сравнивать дату со строкой. Как я могу это сделать, поэтому я проверял, что CreateDate равен "1/1/0001 12:00:00 AM", который, я думаю, по умолчанию?

Ответ 1

Вы можете использовать DateTime.MinValue, который имеет точно такое же значение:

if (e.CreatedDate == DateTime.MinValue) 

Ответ 2

"1/1/0001 12:00:00 AM" это тип данных string. поэтому преобразуйте его в DateTime.

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

Но .NET Framework предоставляет стандартный способ проверить это с помощью

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

MSDN

Ответ 3

Чтобы проверить, равно ли оно по умолчанию, вы можете использовать ключевое слово default:

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

Ответ 4

использовать DateTime.MinValue

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

Ответ 5

Вы можете проверить значение по умолчанию с помощью DateTime.MinValue:

if (e.CreatedDate == DateTime.MinValue) 

Ответ 6

Вы должны использовать функцию DateTime.Compare(DateTime, DateTime), которая возвращает целое число. Например.

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

Ответ 7

Я предполагаю, что e.CreateDate имеет тип DateTime.

Попробуйте:

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

Если вы пытаетесь сравнить, если он равен минимальной дате, просто сравните его с DateTime.MinValue. Вышеприведенный пример более общий.

Ответ 8

возможно, вам нужно сравнить строки, чтобы вы могли сделать это, как это

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

Ответ 9

Вам нужно поставить "1/1/0001 12:00:00 AM" в формат даты, чтобы сравнить его в вашем if.

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