|
Строку вида "12:20:54" преобразовать в количество секунд | ☑ | ||
---|---|---|---|---|
0
virus555
23.02.17
✎
19:39
|
Собственно сабж.
Как строку вида "12:20:54" преобразовать в количество секунд? |
|||
1
anatoly
23.02.17
✎
19:44
|
разбить - поумножать - суммировать.
ОМ.ОбщегоНазначения я так понимаю вообще незнакомое слово?? |
|||
2
virus555
23.02.17
✎
19:47
|
(1) думал может для этого какая-то функция уже есть
ОМ.ОбщегоНазначения - правильно понимаете :) |
|||
3
anatoly
23.02.17
✎
19:48
|
ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок()
дальше СП расскажет... |
|||
4
Лефмихалыч
23.02.17
✎
19:48
|
мнСтрока = СтрЗаменить("12:20:54", ":", Символы.ПС);
КоличествоСекунд = 0; Для СчЦ=0 по 2 Цикл Основание = Число(СтрПолучитьСтроку(мнСтрока, 3-СчЦ)); КоличествоСекунд = КоличествоСекунд + pow(Основание, СчЦ); КонецЦикла Сообщить(КоличествоСекунд); Но это не точно - надо отладить |
|||
5
Лефмихалыч
23.02.17
✎
19:49
|
ой, пля, не
pow(Основание, СчЦ); а Основание * pow(60, СчЦ); |
|||
6
H A D G E H O G s
23.02.17
✎
19:49
|
Жесть какая
|
|||
7
vde69
23.02.17
✎
19:50
|
попробуй так
Число(Дата(12:20:54)) |
|||
8
Лефмихалыч
23.02.17
✎
19:52
|
(6) ценное замечание
(7) без даты не кастанет |
|||
9
H A D G E H O G s
23.02.17
✎
19:53
|
ВремяСтрокой="00:01:54";
ДатаиВремяСтрокой=Формат(ТекущаяДата(),"ДЛФ=D")+" "+ВремяСтрокой; ДатаиВремя=Дата(ДатаиВремяСтрокой); Секунд=ДатаиВремя-НачалоДня(ДатаиВремя); |
|||
10
Fram
23.02.17
✎
19:54
|
Дата("2017.01.01 12:20:54") - Дата("2017.01.01 00:00:00")
|
|||
11
Fram
23.02.17
✎
19:54
|
не успел )
|
|||
12
virus555
23.02.17
✎
19:54
|
Всем спасибо (5) работает. Сейчас и остальное проверю
|
|||
13
Провинциальный 1сник
23.02.17
✎
19:59
|
(0) КоличествоСекунд=Число(Сред(СтрокаВремя,1,2))*3600+Число(Сред(СтрокаВремя,4,2))*60+Число(Сред(СтрокаВремя,7,2))
|
|||
14
Лефмихалыч
23.02.17
✎
20:00
|
(12) ну, только что это довольно дорогой способ
|
|||
15
Garykom
гуру
23.02.17
✎
20:14
|
Иногда после таких вопросов как в (0) хочется спросить:
"А как бы вы сделали это в запросе?" |
|||
16
youalex
23.02.17
✎
20:27
|
[1ccode]
ВремяСтрокой = СтрЗаменить("12:20:54", ":", ""); ВремяДатой = Дата("00010101" + ВремяСтрокой); КоличествоСекунд = ВремяДатой - '00010101'; [/1ccode] |
|||
17
Serg_1960
23.02.17
✎
21:08
|
(16) А если "1:20:54"? :)
|
|||
18
youalex
23.02.17
✎
22:04
|
(17) Ну да, была такая мысль, сделал допущение. Решается костылем, через СтрДлина() или Найти().
Впрочем, сам подобное решал через разбор строки, аналогично (4), но без цикла, и преобразуя части даты в числа в попытке. |
|||
19
Aleksey
23.02.17
✎
22:16
|
(18) хм, а я всегда через Прав() решал
Прав("0"+"1:20:54",8) |
|||
20
youalex
23.02.17
✎
22:25
|
(19) тоже норм, но тоже костыль)
|
|||
21
Wern
24.02.17
✎
17:59
|
Вычислить("(("+СтрЗаменить("12:20:54",":",")*60+")
|
|||
22
Fram
24.02.17
✎
19:39
|
(21) в часах тоже 60 секунд?.. не знал
|
|||
23
Wern
24.02.17
✎
20:51
|
(22) Обрати внимание на скобки.
|
|||
24
Fram
24.02.17
✎
22:43
|
(23) пардон, все верно. но решение не лучшее, потому что об это глаза сломать можно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |