Как перевести время в секунды?

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Есть формат времени такого вида 00:34:51. Надо его перевести в секунды. Как это сделать, подскажите?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
TimeSpan.Parse("00:34:51").TotalSeconds
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
TimeSpan.Parse("00:34:51").TotalSeconds
Как это применить?
Задача у меня такая,- спарсиваю время, потом проставляю в паузу, чтобы она длилась примерно это время, а затем возобновилась работа.
В новой версии Зенно убрали все экшены работы со временем, не знаю как сейчас вставить время в экшен паузы иначе чем в секундах. Потому ищу костыли.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
в с# снипете возвращаете в переменную к примеру {-Variable.PAUSE-}
return TimeSpan.Parse("00:34:51").TotalSeconds.ToString();
и обычную паузу с этой переменной
 
  • Спасибо
Реакции: Valiksim

OTEC_SERGIUS

Client
Регистрация
04.10.2014
Сообщения
387
Благодарностей
69
Баллы
28
Короч, действуешь по такому алгоритму:
Создаёшь 3 переменных: "chasi", "minuti", "sekundi".
Разводишь 00:34:51 на 3 созданных переменных выше. С помощью такого вида кода:
Код:
string[] loooginpaaas = project.Variables["loginpass"].Value.Split(new Char[]{';',':'});
    project.Variables["login"].Value = loooginpaaas[0];
    project.Variables["pass"].Value = loooginpaaas[1];
Создаёшь ещё 3 переменных. "chasi1", "minuti1", "sekundi1"
Далее математика:
Код:
chasi1 = chasi * 60 * 60
minuti1 = minuti * 60
sekundi1 = sekundi
Потом создаёшь ещё переменную "sekundi2"
Далее математика:
Код:
sekundi2 = chasi1 + minuti1 + sekundi1
Всё изи :di:
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Спасибо большое, LexxWork, заработало

Короч, действуешь по такому алгоритму:
Создаёшь 3 переменных: "chasi", "minuti", "sekundi".
Всё изи :di:
Отличное объяснение. Спасибо большое, именно то, что мне нужно было. Ещё бы сюда как прибавить число к полученному?

Идея в том, что работает счётчик, пгоказывающий, сколько времени осталось до запуска следующего цикла. Я получаю секунды, которые служат костылём в Зенно, но к этой цифре надо прибавить немного времени на то, чтобы мои действия запускались немного позже завершения цикла на сайте-доноре. Если ещё и это подскажете, счастью моему не будет предела.
 

OTEC_SERGIUS

Client
Регистрация
04.10.2014
Сообщения
387
Благодарностей
69
Баллы
28
Я не понял какое число ты хочешь к чему прибавить:ah:
sekundi2 + твоёчислосекунд ?
sekundi2 + 00:34:51 число такого вида?
00:34:51 + 00:34:51 ?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
var timetoadd = "00:10:00";
return TimeSpan.Parse("00:34:51").Add(TimeSpan.Parse(timetoadd)).TotalSeconds.ToString();
как мало нужно человеку для счастья...
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Я не понял какое число ты хочешь к чему прибавить:ah:
sekundi2 + твоёчислосекунд ?
sekundi2 + 00:34:51 число такого вида?
00:34:51 + 00:34:51 ?
1. Получаю то, что даёт мне сайт - 00:34:51
2. Перевожу в секунды, получаю, скажем 1200 сек.
3. К нему надо добавить + 100 сек
4. Использую полученную цифру
 

OTEC_SERGIUS

Client
Регистрация
04.10.2014
Сообщения
387
Благодарностей
69
Баллы
28
Значит создаешь еще переменную "addsec" даешь ей в значение эти 100 сек и модифицируешь прошлую формулу к виду sekundi2 = chasi1 + minuti1 + sekundi1 + addsec
С синтаксисом C# не помогу, не умею прагромировать:ah:
 
  • Спасибо
Реакции: Valiksim

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
Есть формат времени такого вида 00:34:51. Надо его перевести в секунды. Как это сделать, подскажите?
var hms = '00:34:51';
var a = hms.split(':');
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
(seconds);
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Значит создаешь еще переменную "addsec" даешь ей в значение эти 100 сек и модифицируешь прошлую формулу к виду sekundi2 = chasi1 + minuti1 + sekundi1 + addsec
С синтаксисом C# не помогу, не умею прагромировать:ah:
Да, в принципе, можно и так решить задачу. Спасибо

var hms = '00:34:51';
var a = hms.split(':');
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
(seconds);
Попробую и этот вариант, budora, спасибо за подсказку
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
  • Спасибо
Реакции: Rainsteel и Valiksim

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
300
Благодарностей
49
Баллы
28
Мне кажется, или проще просто воспользоваться экшеном "Пауза" и устанавливать её из переменной?)
 

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
102
Благодарностей
9
Баллы
18
var hms = '00:34:51';
var a = hms.split(':');
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
(seconds);
Подскажите пожалуйста как сделать обратную операцию (допустим 122 сек. перевести в такой вид 00:2:02)
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
554
Баллы
93
  • Спасибо
Реакции: Rainsteel

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
102
Благодарностей
9
Баллы
18

Yaroslav2015

Client
Регистрация
21.12.2015
Сообщения
39
Благодарностей
9
Баллы
8
на случай если в переменной могут быть только секунды(25) либо минуты и секунды(12:25) или еще и часы (1:12:25)

Код:
string str = project.Variables["time"].Value;
string[] array = str.Split(':');
int m,h;
    if (array.Length ==1){
        return array[0];
    }else{
        if(array.Length ==2){
            m = int.Parse( array[0]);
            return (m*60)+int.Parse( array[1]);
        }else{
            if(array.Length ==3){
                h = int.Parse( array[0]);
                m = int.Parse( array[1]);
            return (((h*60)+m)*60)+int.Parse( array[2]);
            }
        }
    }
 
A

Alelsey1611

Guest
Спасибо большое, LexxWork, заработало


Отличное объяснение. Спасибо большое, именно то, что мне нужно было. Ещё бы сюда как прибавить число к полученному?

Идея в том, что работает счётчик, пгоказывающий, сколько времени осталось до запуска следующего цикла. Я получаю секунды, которые служат костылём в Зенно, но к этой цифре надо прибавить немного времени на то, чтобы мои действия запускались немного позже завершения цикла на сайте-доноре. Если ещё и это подскажете, счастью моему не будет предела.
JavaScript экшен
Переменная = переменная + число
 

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