строковое значение, включая отрицательное значение для Datetime - PullRequest
0 голосов
/ 11 января 2019

У меня есть строковое значение, скажем, например

string a = "0";
string b = "-15";

DateTime d = DateTime.Now;

I want to compare if( a = d)

В принципе, я хочу использовать что-то вроде ниже

a.Date == d.Date

Как уже упоминалось, номер строки может быть любым положительным или отрицательным небольшим числом, скажем, например, от 1 до 50, и это означает «дни». 0 означает сегодня. -14 означает 2 недели назад.

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Ах, хорошо, ты имеешь в виду

DateTime a = DateTime.Now.AddDays(int.Parse(b));
DateTime d = DateTime.Now;


if(a.Date == d.Date)
   //awesome
0 голосов
/ 11 января 2019

Как это?

string a = "0";
string b = "-15";

DateTime d = DateTime.Now;

if (d.AddDays(int.Parse(a)) == d)
{
    Console.WriteLine("{0} does equal {1}!", d.AddDays(int.Parse(a)), d);
}

Это преобразует a в int, затем добавляет его в d, затем сравнивает с d. Если бы вместо этого вы использовали b, то добавили бы -15 к d, что равняется вычитанию 15.

Если вы хотите присвоить результат вычисления переменной, просто сделайте это сначала:

string a = "0";
string b = "-15";

DateTime d = DateTime.Now;
DateTime e = d.AddDays(int.Parse(a));
if (e == d)
{
    Console.WriteLine("{0} does equal {1}!", e, d);
}

Console.ReadLine();
...