Как отфильтровать строковую дату? - PullRequest
1 голос
/ 15 января 2020

Я работаю над датой, которую мне нужно отфильтровать, потому что данные были слишком большими. Это код, который я пробовал до сих пор.

string value = Datetime.Now.tostring("yyyy-MM-dd");
DateTime fromdate;
fromdate = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");
DateTime todate;
todate = DateTime.Now.ToString("yyyy-MM-dd");

 if((value >= fromdate) && (value <= todate))
{
//filtered items
}

Ошибка всегда говорит, что

Оператор> = не может быть применен к операнду типа string и System datetime

В какой части моего кода неверно?

Ответы [ 4 ]

3 голосов
/ 15 января 2020

Не нужно анализировать или конвертировать дату, вы можете иметь дело с датой напрямую

DateTime val = DateTime.Now.Date;

DateTime fromdate = DateTime.Now.AddDays(-2).Date;

DateTime todate = DateTime.Now;

if((val >= fromdate) && (val <= todate))
{
//filtered items
  Console.WriteLine("do something");
}
2 голосов
/ 15 января 2020

Вам нужно конвертировать в дату, используя DateTime.Parse Метод:

if ((DateTime.Parse(value) >= fromdate && ((DateTime.Parse(value) <= todate))

Этот код отлично работает:

string value = DateTime.Now.ToString("yyyy-MM-dd");
DateTime fromdate;
fromdate = DateTime.Now.AddDays(-2);
DateTime todate;
todate = DateTime.Now;

if ((DateTime.Parse(value) >= fromdate && ((DateTime.Parse(value) <= todate))))
{
    //filtered items
}
1 голос
/ 15 января 2020

Эта строка компилируется?

fromdate = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");

Вы определяете fromdate как DateTime и пытаетесь назначить ей строку

DateTime fromdate;
fromdate = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");

То же относится и к toDate

0 голосов
/ 15 января 2020
var now = Datetime.Now;
var value = now.Date;
var fromdate = now.AddDays(-2).Date;
var todate = now.Date;

if((value >= fromdate) && (value <= todate))
{
    //filtered items
}

Это может быть проще, потому что value и todate всегда одинаковы, а value всегда больше, чем fromdate. Таким образом, условие if всегда выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...