|
Преобразовать секунды в часы с минутами | ☑ | ||
---|---|---|---|---|
0
IT_PROGRAMMIST
23.01.13
✎
12:33
|
Добрый день. пл.8.2.16.368.
Такая задача: Есть документ, в котором пользователь вводит время работы станка(т.е Время начала и время окончания(с типом Дата, состав даты время)). Документ ложит это время в секундах в добавленный под документ регистр. Расчет времени в секундах выполняю так: &НаКлиенте Функция ПолучитьРазницуВоВремениВСекундах(ВремяНачалаРаботы,ВремяОкончанияРаботы) РазностьВСекундах = ВремяОкончанияРаботы - ВремяНачалаРаботы; Если РазностьВСекундах >= 0 Тогда Возврат РазностьВСекундах; ИначеЕсли РазностьВСекундах < 0 Тогда Время3 = ВремяОкончанияРаботы + 86400; пРазностьВСекундах = Время3 - ВремяНачалаРаботы; Возврат пРазностьВСекундах; КонецЕсли; КонецФункции Делаю отчет, который будет показывать картину сколько по времени работал(или простаивал) станок. В отчете преобразовываю секунды во время с часами минутами. Преобразовываю так: Выражение представления для вычисляемого поля в отчете: Функция ПредставлениеВремени(Время) Экспорт Предс = Дата(1,1,1)+Время; Возврат Формат(Предс,"ДФ=HH:mm"); КонецФункции Но есть проблема, если общее время превышает в секундах 24 часа, то система выводить время заново: т.е 85 800 сек = 23 час 50 минут 36 000 сек = 10 час 00 минут Итого 121 800 сек = 09 час 50 минут, а должно 33 часа 50 минут. Подскажите как выкрутиться из сутуации??? Понимаю, что дело в Дата(1,1,1).не знаю как сделать.... |
|||
1
GLazNik
23.01.13
✎
12:35
|
И?
|
|||
2
IT_PROGRAMMIST
23.01.13
✎
12:35
|
(1) ?
|
|||
3
GLazNik
23.01.13
✎
12:35
|
Проблема не в Дата(1,1,1), а в Формат(Предс,"ДФ=HH:mm")
|
|||
4
Defender aka LINN
23.01.13
✎
12:38
|
(0) Я так понимаю, батюшка предаст анафеме, если при времени больше 86400, автор будет использовать другую форматную строку... Да, беда прямо...
|
|||
5
IT_PROGRAMMIST
23.01.13
✎
12:39
|
(3) не помогло.
(4) да в этом проблема |
|||
6
IT_PROGRAMMIST
23.01.13
✎
12:56
|
блин, как же выкрутиться?
|
|||
7
IT_PROGRAMMIST
23.01.13
✎
13:00
|
думал уже может хранить информацию не в секундах,а в числах. Но тогда будет ситуация 1,30(предположим, что это 1 час 30)+2,40( 2 часа 40 минут) = 3,70(3 часа 70 минут)(((((
|
|||
8
cw014
23.01.13
✎
13:02
|
Отбрось предрассудки в виде формата, считай математикой, будь мужиком, блеать...
|
|||
9
IT_PROGRAMMIST
23.01.13
✎
13:03
|
(8) подскажи как?
|
|||
10
DrShad
23.01.13
✎
13:03
|
(7) секунды раздели на 60 и получишь минуты
минуты раздели на 60 и получишь часы часы на 24 и получишь сутки сутки на 7 и получишь недели .... |
|||
11
DrShad
23.01.13
✎
13:04
|
+(10) учу математике, дорого!
|
|||
12
cw014
23.01.13
✎
13:07
|
(10),(11) +100500
(9) Учи матчасть!!! |
|||
13
DrShad
23.01.13
✎
13:08
|
(12) у меня сын во втором классе уже знает, правда без калькулятора еще не умеет делить
|
|||
14
IT_PROGRAMMIST
23.01.13
✎
13:09
|
сейчас попробую.
Т.е 121 800 сек это 121 800/60 = 2030 минут 2030/60 = 33,83 а как получить 33 часа 50 минут |
|||
15
Мыш
23.01.13
✎
13:09
|
Часы = Цел(ВсегоСекунды/3600);
Минуты = Цел((ВсегоСекунды-Часы*3600)/60); Секунды = ВсегоСекунды-Часы*3600-Минуты*60; |
|||
16
Nzn
23.01.13
✎
13:10
|
33,83-Цел(33,83)/100*60
|
|||
17
cw014
23.01.13
✎
13:11
|
Друзья, а долго вы ит_программиста будете вычислению времени обучать? Если да, то будут ли ему домашние задания? :)
|
|||
18
DrShad
23.01.13
✎
13:12
|
мдя... как все запущенно...
|
|||
19
Мыш
23.01.13
✎
13:13
|
Секунды = ВсегоСекунды%3600;
Минуты = ((ВсегоСекунды-Секунды)/60)%60; Часы = (ВсегоСекунды-Секунды-Минуты*60)/3600; |
|||
20
drcrasher
23.01.13
✎
13:14
|
(17) поржал от души ))))
|
|||
21
cw014
23.01.13
✎
13:15
|
(20) По моему пора бежать за попкорном
|
|||
22
Мыш
23.01.13
✎
13:15
|
(0) С честью неси гордое звание программиста! Не позорь его! Прочти уже что-нибудь по алгоритмам! )
|
|||
23
IT_PROGRAMMIST
23.01.13
✎
13:15
|
(15),(10)спасибо за помощь. Если задал глупый вопрос, то сор. Я думаю каждый из здесь присутствующих программирует по ночам, а днем.......
|
|||
24
Nzn
23.01.13
✎
13:15
|
(17) Ну ... он же программист, а не математик)))
|
|||
25
DrShad
23.01.13
✎
13:16
|
(23) плохо ты о нас думаешь
по ночам мы спим, а днем на мисте сидим |
|||
26
1Сергей
23.01.13
✎
13:16
|
Минут = ВсегоСекунд % 60;
Часов = Цел(ВсегоСекунд / 60); |
|||
27
DrShad
23.01.13
✎
13:17
|
(26) облажался
|
|||
28
Мыш
23.01.13
✎
13:17
|
(23) Что скрывается за столь многозначительным многоточием? Открой страшную Правду! )
|
|||
29
IT_PROGRAMMIST
23.01.13
✎
13:19
|
(28) спать хочется)))
|
|||
30
DrShad
23.01.13
✎
13:19
|
(29) спать нужно ночью
|
|||
31
cw014
23.01.13
✎
13:19
|
(28) Есть вампиры, они спят днем и пьют кровь по ночам. А есть программиры - они спят днем и программируют 1С по ночам
|
|||
32
1Сергей
23.01.13
✎
13:20
|
(27) чего это?
|
|||
33
1Сергей
23.01.13
✎
13:20
|
(32)+ а, да. он секунды и минуты получит
|
|||
34
AndyD
23.01.13
✎
13:21
|
охренеть программисты пошли. уж лучше бы поваром пошел, или водителем каким-нибудь
|
|||
35
AndyD
23.01.13
✎
13:22
|
зато интересы: 1с,ajax,php,C++,delphi
|
|||
36
IT_PROGRAMMIST
23.01.13
✎
13:23
|
(35) поэтому и сплю днем, потому что такие интерсы)
|
|||
37
Мыш
23.01.13
✎
13:23
|
(34) Нормальный программист. Хотя бы не поленился вопрос внятно сформулировать )
|
|||
38
AndyD
23.01.13
✎
13:29
|
(37) у нормального программиста в голову не придет вопросы задавать как в (14). программисту даже думать не надо, чтобы задачу такую решить, ответ должен прийти в голову так же как 2+2=4
|
|||
39
IT_PROGRAMMIST
23.01.13
✎
13:30
|
(38)вот он и пришел)
|
|||
40
DrShad
23.01.13
✎
13:31
|
(38) открою тебе великую тайну - 2+2 не всегда равно 4, иногда оно равно 3.9999999
|
|||
41
Мыш
23.01.13
✎
13:33
|
(38) Да вы, батенька, максималист! )
|
|||
42
Vladal
23.01.13
✎
14:39
|
ВремяВыполнения = ТекущаяДата() - НачалоПроцесса;
Часов = Цел(ВремяВыполнения/3600); Минут = Цел((ВремяВыполнения-Часов*3600)/60); Секунд = ВремяВыполнения - Часов*3600 - Минут*60; СтрокаВремениВыполнения = "" + Часов + ":" + ?(Минут = 0, "00", Формат(Минут, "ЧЦ=2; ЧДЦ=0; ЧВН=")) + ":" + ?(Секунд = 0, "00", Формат(Секунд, "ЧЦ=2; ЧВН=")); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |