Имя: Пароль:
1C
1С v8
Преобразование секунд в формат 00:00 (часы, минуты)
0 VSpicy
 
naïve
19.06.24
10:23
Доброго времени суток!
Делаю так:
лкСекунды = 567000;
Сообщить(Формат(Дата(1,1,1) + лкСекунды, "ДФ=ЧЧ:мм"));
но мне выдает 13:30, хотя в идеале должно быть 157:30

Подскажите пожалуйста как можно это реализовать?
Заранее благодарен!
1 Многолетний Апельсин
 
19.06.24
10:27
Часы = Цел(лкСекунды / 3600);
Минуты = (лкСекунды % 3600) / 60;

Сообщить(СтрШаблон(%1:%2, Часы, Минуты));
2 mikecool
 
19.06.24
10:30
(0) в каком идеале должно быть?
3 Смотрящий
 
19.06.24
10:31
Движок тебе 567 тыс секунд преобразует в 6 дней 13 часов и 30 минут. И отбрасывает дни согласно форматированию.
В рукопашную только.
4 Гена
 
гуру
19.06.24
10:35
(1) Не /60, а *60 и глянуть ОКР или ЦЕЛ
5 VSpicy
 
naïve
19.06.24
10:38
(2) 567000 = 157:30
6 VSpicy
 
naïve
19.06.24
10:39
(4) Можно пример?
7 Многолетний Апельсин
 
19.06.24
10:41
(4) Да, запамятовал. Минуты тоже надо к целым привести. Но почему умножать? Берем остаток от деления на 3600 - получаем сколько секунд неполного часа, делим секунды на 60 - получаем минуты неполного часа.
8 Гена
 
гуру
19.06.24
10:44
(7) Это... может я не в курсе... а что выдаёт % ?
Например, 1800%3600 = 0.5
или
1800%3600 = 1800
?
9 Гена
 
гуру
19.06.24
10:46
Если второе, то формула Ваша правильная с /60
10 maxab72
 
19.06.24
10:50
(8) Второе. Это же остаток от деления, арифметика 1-ый или 2-ой класс...
11 VSpicy
 
naïve
19.06.24
11:16
(1) Спасибо большое! Рабочий вариант.
12 Гена
 
гуру
19.06.24
11:49
(10) Понятно. Я просто думал, что оператор возвращает дробную часть {...} от деления. А это похоже чисто физически берутся два ЦЕЛЫХ числа (в ячейках машины) и остаток тоже целый.

Скорее всего задумано для работы с рациональными числами вида m/n
13 Гена
 
гуру
19.06.24
11:56
Интересно, а кто-нибудь рассматривал работу с рациональными числами, ведь в бухгалтерии нет иррациональных чисел?
И тогда никогда не будет проблем с точностью, т.к. можно только в итоге отражать результат в десятичной форме )
14 Asmody
 
19.06.24
12:00
(13) проблемы с точностью будут. хотя бы потому, что ни один банк не примет платёжку на 1/3 копейки
15 maxab72
 
19.06.24
12:03
"ведь в бухгалтерии нет иррациональных чисел?"
мнимая часть баланса - сплошь и рядом...
16 Гена
 
гуру
19.06.24
12:06
(14) Дубль два: десятичка только по итогу.