Здесь обсуждалось похожее:Всем привет.
Есть переменная со временем (11:12:21) Прошу подсказать как прибавить к этому времени 15 мин.
Если можно то прошу написать формулу
Спасибо!
Прошу подсказать:Здесь обсуждалось похожее:
Вместо AddDays используйте AddMinutes.
// Переводим переменную {-Variable.time-} в строковую переменную "a" и конвертиуем время в секунды
string a = TimeSpan.Parse(project.Variables["time"].Value).TotalSeconds.ToString();
// конвертируем переменную "a" в тип int для сложения
int n = Convert.ToInt32(a);
// приюавляем ко времени 900 сек. (15 мин)
return n+900;
Отличный метод. Благодарю!А мой метод без С# разве плох?
Вот эта переменная фиксирует новое время вместо старого:
{-TimeNow.Date hh:{-Variable.time_new-}:ss-}
Посмотреть вложение 53147
Посмотреть вложение 53148
а как он отработает, когда минут станет больше 59?А мой метод без С# разве плох?
Вот эта переменная фиксирует новое время вместо старого:
{-TimeNow.Date hh:{-Variable.time_new-}:ss-}
Посмотреть вложение 53147
Посмотреть вложение 53148
//Заданное Время от которого должен начаться отчет
// Переводим переменную {-Variable.time_post-} в строковую переменную "a" и конвертиуем время в секунды
string a = TimeSpan.Parse(project.Variables["time_post"].Value).TotalSeconds.ToString();
// конвертируем переменную "a" в тип int для сложения
int b = Convert.ToInt32(a);
// Получить текущее время
var x = DateTime.Now.ToString("hh:mm:ss tt");
// конвертируем время в секунды
var y = TimeSpan.Parse(x).TotalSeconds.ToString();
int z = Convert.ToInt32(y);
return 1800-(z-b);
Работать будет превосходно.а как он отработает, когда минут станет больше 59?
Дак ты привёл уже. Вот ониРаботать будет превосходно.
Поверите на слово, или привести подробные скрины?
ничего не забыл?Итак, вот фрагмент шаблона:
Посмотреть вложение 53157
Посмотреть вложение 53158Посмотреть вложение 53159
Посмотреть вложение 53160
Теперь если минут больше 59:
Посмотреть вложение 53161
Посмотреть вложение 53162
Посмотреть вложение 53163
Посмотреть вложение 53164
Как-то так...
Ну меня обвинили в неправильности шаблона. Если бы я был по национальности японец - то я бы вынужден был бы, для спасения своего честного имени - сделать себе харакири. Но я выбрал другой путь - проиллюстрировал, что и шаблоном эту задачу можно решить.епать, колотить.... зачем все это , если все делается одной строкой кода ?
Если что-то и забыл - то думаю несущественное.ничего не забыл?
Это мое решение дает сбои. Добрый человек дал такое решение сравнения времени, которое подошло мне.Вот еще решение:
Если нужно подождать 30 мин (1800сек), но таймер включается позже заданного времени (и время включения таймера плавает).
{-Variable.time_post-} Время от которого нужно отсчитать 30 мин.
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);
}
// Присваиваем переменным stringTime1, stringTime2
// строковые значения из проекта
string stringTime1 = project.Variables["time1"].Value;
string stringTime2 = project.Variables["time2"].Value;
// Здесь объявляем переменные с нужным нам типом времени DateTime
DateTime time1, time2;
// Преобразовываем строковой тип времени в тип DateTime
bool compareTime1 = DateTime.TryParse(stringTime1, out time1);
bool compareTime2 = DateTime.TryParse(stringTime2, out time2);
// Вначале проверяем корректность преобразования
// если ошибка то переходим на красную ветку
if (compareTime1 && compareTime2)
{
if (time1 > time2) // сравниваем два значения времени
{
return 1; // для примера здесь возвращаем 1
}
else
{
return 2;// для примера здесь возвращаем 2
}
}
else
{
return null; // завершаем сниппет с ошибкой
}
Подскажите, есть ли вариант плюсуем время к примеру из переменой взять текущее время и прибавить к нему 10 минут, на выходе получить переменную с + 10 минут, более точный пример, сейчас 10:00 плюсуем 10, время в переменной становится 10:10Вот еще решение:
Если нужно подождать 30 мин (1800сек), но таймер включается позже заданного времени (и время включения таймера плавает).
{-Variable.time_post-} Время от которого нужно отсчитать 30 мин.
К примеру я получаю емейл и мне нужно подождать 30 мин с момента прихода письма (02:40:00). Парсер писем проверяет письма раз в 5 мин. и обнаружил письмо в 02:44:00.C#://Заданное Время от которого должен начаться отчет // Переводим переменную {-Variable.time_post-} в строковую переменную "a" и конвертиуем время в секунды string a = TimeSpan.Parse(project.Variables["time_post"].Value).TotalSeconds.ToString(); // конвертируем переменную "a" в тип int для сложения int b = Convert.ToInt32(a); // Получить текущее время var x = DateTime.Now.ToString("hh:mm:ss tt"); // конвертируем время в секунды var y = TimeSpan.Parse(x).TotalSeconds.ToString(); int z = Convert.ToInt32(y); return 1800-(z-b);
Этот экшн позволяет ждать 30 мин от 02:40:00.
Результат выдается в секундах
Не совсем понял уточните? Где найти unixtime? это кубик? Код?работа со временем, очень рекомендую работать в unixtime, очень удобно там все посекундно.
перевел любое время/дату unixtime и прибавляй, отнимай, очень удобно работать с секундами