Здесь обсуждалось похожее:Всем привет.
Есть переменная со временем (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 и прибавляй, отнимай, очень удобно работать с секундами