|
соединить дату и время | ☑ | ||
---|---|---|---|---|
0
Папай
10.12.19
✎
15:14
|
Добрый день.подскажите как соединить 2 еременные содержащие дату и время.это два разных реквизита
04.11.2019 0:00:00 и 01,01,2019 10:00:00. где первое это дата.почему то везде прописал что только дата, но все равно тащит еще и время.а вторая переменная только время но почему то тащите еще и дату хотя указал что только время.как то можно их корректно соединить и получить:04.11.2019 10:00:00 |
|||
1
Rovan
гуру
10.12.19
✎
15:15
|
получить кол-во секунд во 2м и прибавить к 1му
|
|||
2
b_ru
10.12.19
✎
15:16
|
РеквизитДата + РеквизитВремя - Дата(2019,01,01)
Если у тебя реквизит время действтительно от начала года отсчитывается, а не от начала учета времени |
|||
3
Папай
10.12.19
✎
15:16
|
(1)спасибо за идею а как прибавить?
|
|||
4
Папай
10.12.19
✎
15:17
|
(2)пардон ошибся 01,01,0001
|
|||
5
Папай
10.12.19
✎
15:18
|
так указывает где сугубо время якобы без даты
|
|||
6
b_ru
10.12.19
✎
15:41
|
(4) Ну тогда просто РеквизитДата + РеквизитВремя
Тип ДатаВремя в 1С это просто количество секунд, прошедшее с начала 1970 года, с ним можно делать любую арифметику. |
|||
7
arsik
гуру
10.12.19
✎
15:43
|
РеквизитДата + РеквизитВремя - НачалоДня(РеквизитВремя)
|
|||
8
arsik
гуру
10.12.19
✎
15:46
|
+ (7) Вру. Правильно так.
РеквизитДата + (РеквизитВремя - НачалоДня(РеквизитВремя)) |
|||
9
mistеr
10.12.19
✎
15:46
|
(6) Ну-ну. Сам-то пробовал свою "арифметику"?
|
|||
10
vova1122
10.12.19
✎
15:50
|
(6) спутал с Юних-Датой
|
|||
11
Папай
10.12.19
✎
15:55
|
спасибо попробую
|
|||
12
b_ru
10.12.19
✎
16:17
|
Да действительно компилятор не умеет кастить Дату к числу. Вроде раньше умел.
Ну тогда наверное короче чем РеквизитДата + Час(РеквизитВремя) * 3600 + Минута(РеквизитВремя) * 60 + Секунда(РеквизитВремя) не получится |
|||
13
hhhh
10.12.19
✎
16:31
|
(12) читай (8)
|
|||
14
b_ru
10.12.19
✎
16:34
|
(13) Не работает (8)
|
|||
15
singlych
10.12.19
✎
17:03
|
(14) он умеет вычитать дату из даты и прибавлять к дате число, со скобками работает
по крайней мере на 8.3.15 |
|||
16
b_ru
10.12.19
✎
17:17
|
(15) А на 8.3.12 не работает и со скобками, результат от вычитания двух дат там получается тоже дата, которую нельзя прибавить к дате.
И я почти уверен, что на какой-то раннеей версии 8.3 работало сложение дат. В общем, полагаться не стоит. |
|||
17
Александр Б
10.12.19
✎
18:23
|
(16) Результат от вычитания дат - число секунд как разница между датами.
Проверил, "Дата + (Время - НачалоДня(Время))" - работает. |
|||
18
Александр Б
10.12.19
✎
18:24
|
(17) Причём проверил на 8.2.19 даже.
|
|||
19
fisher
10.12.19
✎
18:30
|
(16) Ересь какая-то. Никогда даты нельзя было складывать. Всегда разница дат возвращала разницу в секундах. Всегда к дате можно было прибавлять секунды. Это у тебя какая-то ложная память или ты с приоритетами операций начудил.
|
|||
20
fisher
10.12.19
✎
18:31
|
У меня тоже 8.3.12. Все работает.
|
|||
21
mistеr
10.12.19
✎
18:49
|
Мораль: не все, что можно вычитать, можно складывать.
|
|||
22
fisher
11.12.19
✎
10:23
|
(21) Более того, даже сложение не всегда коммутативно :)
|
|||
23
palsergeich
11.12.19
✎
10:31
|
(19) время - начало дня как раз и будет число.
Которое потом прибавляется к дате, так что все ок) |
|||
24
fisher
11.12.19
✎
10:37
|
(23) Что такое "время - начало дня"? В 1С нет типа "время".
А НачалоДня() возвращает тип "Дата". В каком месте появляется тип "Число"? |
|||
25
fisher
11.12.19
✎
10:41
|
(18) Или ты имел в виду разницу даты с текущим временем и даты начала дня в секундах? Ну так я против этого ничего и не имел. Это у b_ru не работало.
|
|||
26
fisher
11.12.19
✎
10:41
|
Тьфу, (25) было к (23)
|
|||
27
8 bit
11.12.19
✎
10:45
|
(0) не УАТ ли это случайно?
|
|||
28
НЕА123
11.12.19
✎
10:53
|
Дата(Формат(ТолькоДата,"ДФ=dd.MM.yyyy")+" "+Формат(ТолькоВремя,"ДФ=чч:мм:сс"))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |