Как вычислить сколько дней прошло между двумя датами

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Добрый вечер!
Искал, пытался понять, но так и не понял как вычислить сколько дней прошло между датой в виде гг/мм/чч и текущей датой и результат записать в переменную. Я так понимаю что решение очень простое, но в силу своего незнания вызывает затруднения.
Заранее спасибо!
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
не искал значит, так как решения есть на форуме
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
видел эти решения, в одной теме, но не понял как их запустить
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
видел эти решения, в одной теме, но не понял как их запустить
Возьми для начала стандартный экшен обработка текста , выбор действия=> в переменную => задай переменную, запиши в нём вот эту строку {-TimeNow и в коце поставь точку, для тебя откроются подсказки, ну а из подсказок выбирай и подгоняй что тебе надо
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
спасибо, действительно увидел новые возможности, далее возник такой вопрос, такого типа код:

  1. DateTime dt = DateTime.Parse("02.03.2015"); // Заданное время
  2. DateTime now = DateTime.Now; // Текущее время
  3. var days = (now - dt).Days; // Разница в днях (31)

  4. if (days>30)
  5. {
  6. return "Прошло больше 30 дней";
  7. }
  8. else
  9. {
  10. return "Еще есть время";
  11. }

надо запускать в действии JavaScript код?
 
  • Спасибо
Реакции: goldfish

NoN

Пользователь
Регистрация
04.01.2015
Сообщения
183
Благодарностей
22
Баллы
18
спасибо, действительно увидел новые возможности, далее возник такой вопрос, такого типа код:

  1. DateTime dt = DateTime.Parse("02.03.2015"); // Заданное время
  2. DateTime now = DateTime.Now; // Текущее время
  3. var days = (now - dt).Days; // Разница в днях (31)

  4. if (days>30)
  5. {
  6. return "Прошло больше 30 дней";
  7. }
  8. else
  9. {
  10. return "Еще есть время";
  11. }

надо запускать в действии JavaScript код?
"C# код"
 
  • Спасибо
Реакции: goldfish

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
спасибо буду пробывать
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
возник новый вопрос по сравнению дат, пробую такой код:

DateTime dt = DateTime.Parse(project.Variables["DatPoslZaprosa"].Value); // Заданное время
DateTime now = DateTime.Now; // Текущее время
var days = (now - dt).Days; // Разница в днях (31)
return days;

но он не срабатывает, в переменной DatPoslZaprosa находится дата и время в формате 02/15/2016 11:00:13 , т.е это значение {-TimeNow.Date-} прошедшего времени, пытаюсь сравнить с текущей, но не срабатывает. И еще сразу вопрос можно ли отобразить результат в виде разницы часов, а не дней. Пробовал заменить var days = (now - dt).Days на var days = (now - dt).Hours не сработало.
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
подскажите кто понимает, что я не так делаю?
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
C#:
string str = "02/15/2016 11:00:13"; //project.Variables["DatPoslZaprosa"].Value;
var dt = DateTime.ParseExact(str, "MM/dd/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
var days = DateTime.Now.Subtract(dt).TotalDays;
var hours = DateTime.Now.Subtract(dt).TotalHours; // Часы если надо 
return days;
Только учтите что у вас дата в USА формате хранится, сначала месяц потом день.
 

silent

Client
Регистрация
05.04.2014
Сообщения
237
Благодарностей
85
Баллы
28
все должно работать
C#:
DateTime dt = DateTime.Parse(project.Variables["time_before"].Value);
DateTime now = DateTime.Now;
var days = (now - dt).Days;
return ("Прошло " + days + " дня");
https://dotnetfiddle.net/3HiSXl
 

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
спасибо большое Adigen и silent очень помогли!
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)