Вчера работало, а сегодня нет (Мистика, или олень?)

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
Добрый день. Есть простой C# код на сравнение дат:

DateTime date_start = Convert.ToDateTime(project.Variables["data_tuday"].Value);
DateTime date_end = Convert.ToDateTime(project.Variables["data_new"].Value);

if(date_start > date_end){
return "true";
}else{
throw new Exception("false");
}

В "data_tuday" лежит: 01/13/2024 09:19:34
В "data_new" лежит: 01/13/2024 08:15:09

Вторая дата старше прошлой. Кубик с кодом в этом случае всегда уходил по зеленой ветке. А сегодня по красной. Причем я даже менял даты. Все равно всегда по красной уходит. Как же так вышло, что неделю код работал норм, а сегодня не хочет? Ошибок вообще ни каких не отдает.

А вообще мне нужен код который просто сравнивает дату из переменной с текущим временем. Если дата в переменной старее текущего времени, то выводить по зеленой. Если же наоборот время еще не наступило, то по красной. Может у кого есть более оптимизированный код)
 
Последнее редактирование:

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Добрый день. Есть простой C# код на сравнение дат:

DateTime date_start = Convert.ToDateTime(project.Variables["data_tuday"].Value);
DateTime date_end = Convert.ToDateTime(project.Variables["data_new"].Value);

if(date_start > date_end){
return "true";
}else{
throw new Exception("false");
}

В "data_tuday" лежит: 01/13/2024 09:19:34
В "data_new" лежит: 01/13/2024 08:15:09

Вторая дата старше прошлой. Кубик с кодом в этом случае всегда уходил по зеленой ветке. А сегодня по красной. Причем я даже менял даты. Все равно всегда по красной уходит. Как же так вышло, что неделю код работал норм, а сегодня не хочет? Ошибок вообще ни каких не отдает.

А вообще мне нужен код который просто сравнивает дату из переменной с текущим временем. Если дата в переменной старее текущего времени, то выводить по зеленой. Если же наоборот время еще не наступило, то по красной. Может у кого есть более оптимизированный код)
А при чем data_new , если if(date_start > date_end)?
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
330
Благодарностей
243
Баллы
43
Возможно в кубике с C# пропала галочка "Возвращать результат в переменную" или если галочки не было, то пропало название переменной в поле "Положить результат в переменную"
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Добрый день. Есть простой C# код на сравнение дат:

DateTime date_start = Convert.ToDateTime(project.Variables["data_tuday"].Value);
DateTime date_end = Convert.ToDateTime(project.Variables["data_new"].Value);

if(date_start > date_end){
return "true";
}else{
throw new Exception("false");
}

В "data_tuday" лежит: 01/13/2024 09:19:34
В "data_new" лежит: 01/13/2024 08:15:09

Вторая дата старше прошлой. Кубик с кодом в этом случае всегда уходил по зеленой ветке. А сегодня по красной. Причем я даже менял даты. Все равно всегда по красной уходит. Как же так вышло, что неделю код работал норм, а сегодня не хочет? Ошибок вообще ни каких не отдает.

А вообще мне нужен код который просто сравнивает дату из переменной с текущим временем. Если дата в переменной старее текущего времени, то выводить по зеленой. Если же наоборот время еще не наступило, то по красной. Может у кого есть более оптимизированный код)
C#:
DateTime date_start = DateTime.Parse("15.01.2024 10:21:26");
DateTime date_end = DateTime.Now;
if (date_start > date_end)
    throw new Exception();
 
  • Спасибо
Реакции: maxim.gutareff

invergo

Client
Регистрация
17.02.2016
Сообщения
50
Благодарностей
24
Баллы
8
А при чем data_new , если if(date_start > date_end)?
В этом нет ошибки. Данные из переменных получаются
C#:
DateTime date_start = Convert.ToDateTime(project.Variables["data_tuday"].Value);
DateTime date_end = Convert.ToDateTime(project.Variables["data_new"].Value);
 

invergo

Client
Регистрация
17.02.2016
Сообщения
50
Благодарностей
24
Баллы
8
Может он дату распознает как
день - 01
месяц -13
И поэтому ошибка
В логе посмотри должно быть сообщение
 

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
Может он дату распознает как
день - 01
месяц -13
И поэтому ошибка
В логе посмотри должно быть сообщение
В лог вообще ничего не отдает. И вчера, позавчера ведь все работало. Было 12 число)
 

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
Возможно в кубике с C# пропала галочка "Возвращать результат в переменную" или если галочки не было, то пропало название переменной в поле "Положить результат в переменную"
Открыл свой старый шаблон который не трогал год. В нем тот же код. Тоже не работает. В переменную кубик не кидает ответ. По веткам выводит.
 

invergo

Client
Регистрация
17.02.2016
Сообщения
50
Благодарностей
24
Баллы
8
  • Спасибо
Реакции: maxim.gutareff

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
C#:
DateTime date_start = DateTime.Parse("15.01.2024 10:21:26");
DateTime date_end = DateTime.Now;
if (date_start > date_end)
    throw new Exception();
Благодарю! А не подскажите еще код который будет устанавливть дату в переменную в формате: 14/01/2024 08:01:09
То есть сначала число, а уже потом месяц.

Я использовал системную запись: {-TimeNow.Date-} но она указывает сначала месяц, а потом число. И из за этого и не работал мой код.
 

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
Проблема решена! Оказывается не существует 13 месяца в году. А в моих переменных первым был указан месяц, а не число. То есть я олень)

Верный формат даты для этого кода должен быть в формате: 14/01/2024
 

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