Сравнить бы время

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Здравствуйте, реально ли сделать снипет, который будет сравнивать 2 времени? Для владельца ZP не программиста - это выглядит так

Заранее спасибо.
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Всем спасибо, весь вечер убил, сделал разбивку на месяца дни часы минуты и сравнивал в отдельности как числы через if, большущий шаб, через швитчи тоже делал разбивки и т.д.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Если актуально можно сниппет на C# накатать
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
427
Благодарностей
61
Баллы
28
Так вот бы хотелось сниппет, а то больно уж большой шаб получился.
 

Kondor

Client
Регистрация
28.08.2015
Сообщения
14
Благодарностей
7
Баллы
3
Вот маленький проект с нужным вам снипетом.
В комментариях все подробно описал,
подкорректировать снипет под ваш контекст выполнения будет несложно.
 

Вложения

up_lvl

Client
Регистрация
02.09.2014
Сообщения
131
Благодарностей
53
Баллы
28
Какая подходящая моему кейсу тема. Но, мне необходим код который бы чекал прошло ли 24 часа. Значение "прошлого" времени имеется в ячейке таблицы, необходимо "прошлое" сравнить с "текущим" временем. Дата и время в моём шабе берутся в таком формате
Код:
return DateTime.Now.ToString("dd.MM.yyyy HH:mm");
Пример результата: "11.01.2016 23:00"
 
Последнее редактирование:

Kondor

Client
Регистрация
28.08.2015
Сообщения
14
Благодарностей
7
Баллы
3
Подправил предыдущий шаблон под новую задачу.
Основная идея в шаблоне раскрыта.
Входящие данные подправите под свой проект.
 

Вложения

  • Спасибо
Реакции: up_lvl

Kondor

Client
Регистрация
28.08.2015
Сообщения
14
Благодарностей
7
Баллы
3
Проект вчера выложил, а уж потом пришла мысль что на разных компах
будет по разному работать. Выкладываю исправленную версию.
 

Вложения

  • Спасибо
Реакции: Koqpe и Igorii

Vass

Client
Регистрация
03.02.2014
Сообщения
79
Благодарностей
10
Баллы
8
Проект вчера выложил, а уж потом пришла мысль что на разных компах
будет по разному работать
А почему? вроде у всех одинаковы часы идут или в смысли разные часовые пояса?

За снипет спасибо.
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
131
Благодарностей
53
Баллы
28
Спустя 2 года наработан некоторый опыт в работе с DateTime. Работать в подобных кейсах удобно приводя время в UTC - ToUniversalTime(), а затем его сравнивать.
Отвечая самому себе двухлетней давности на вопрос прошло ли X часов с какого-то момента datetime_start:
Код:
var datetime_start = "12/03/2018 23:00:00"; // project.Variables["time_start"].Value;
var datetime_utc = DateTime.Parse(datetime_start).ToUniversalTime();
double hours = 24; //double.Parse(project.Variables["hours"].Value);
bool time_comparison = datetime_utc.AddHours(hours) < DateTime.UtcNow;
if (time_comparison)
{
    return hours+" час(ов) прошло с "+datetime_start;;
}
else
{
    return hours+" час(ов) не прошло с "+datetime_start;
    //если надо по false выйти:
    //throw new Exception (hours+" час(ов) не прошло c "+datetime_start);
}

Помимо часов AddHours, есть также методы AddMonths, AddDays, AddMinutes, AddSeconds, AddMilliseconds. Что делает данную конструкцию очень удобной в применении.
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
Как сделать так чтобы после 0:30 шаблон выполнял другие действия. а после 10:00 выполнял другие...?
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
373
Баллы
63
Как сделать так чтобы после 0:30 шаблон выполнял другие действия. а после 10:00 выполнял другие...?
Каждый вариант "другие действия"? :-)
Как вариант текущее время сравнивать и по IF отправлять в разные ветки.
Или сделать 2 шаблона.
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
Время то сравнил С помощью CompareTime.xmlz
Но Сравнение происходит в промежутке с 0:00:01 по 0:30:00. А нам надо чтобы с 10:00 шаблон выполнял другие действия до следующего дня 0:30:00
2 шаблона Не прокатит, очень много данных обмениваются в одном шаблоне.
 

санчил

Client
Регистрация
15.04.2016
Сообщения
334
Благодарностей
60
Баллы
28
Проект вчера выложил, а уж потом пришла мысль что на разных компах
будет по разному работать. Выкладываю исправленную версию.
подскажите как этот код сделать чтобы проверял 2 значение времени из переменной с системным временем?
т.е к примеру 8-00 (значение из переменной) шаб запустить а , в 21-00 (значение из переменной) остановить
 

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