![]() |
![]() |
![]() |
|
Разность дат | ☑ | ||
---|---|---|---|---|
0
Sasha_uu
06.12.10
✎
12:00
|
Есть две даты
например 01.01.2000 и 06.12.2010 как узнать разницу двух дат в виде кол. лет, кол.месяцев, кол. дней. 06.12.2010 - 01.01.2000 = 10лет 11 месяцев 5 дней. |
|||
1
Irbis
06.12.10
✎
12:01
|
три раза разность дат вызывай с разными параметрами и обрабатывай
|
|||
2
IronDemon
06.12.10
✎
12:01
|
В запросе или в коде?
|
|||
3
Mitriy
06.12.10
✎
12:03
|
Функция РАЗНОСТЬДАТ
Функция предназначена для получения разницы между двумя датами. Первый параметр — выражение типа ДАТА; Второй параметр — выражение типа ДАТА; Третий параметр – тип разности, одно из: СЕКУНДА, МИНУТа, ЧАС, ДЕНЬ, МЕСЯЦ, КВАРТАЛ, ГОД. Примеры: ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), ДЕНЬ) Результат: Поле1 2 |
|||
4
Sasha_uu
06.12.10
✎
12:04
|
Хочу это сделать в запросе.
Пишу разностьдат(дата1, дата2, год) = 10 разностьдат(дата1, дата2, месяц) = 1200 разностьдат(дата1, дата2, день) = 6800 но мне нужно в другом формате |
|||
5
Ненавижу 1С
гуру
06.12.10
✎
12:04
|
(2) в коде сводится к запросу вполне
|
|||
6
Irbis
06.12.10
✎
12:04
|
(4) А поделить и взять остаток уже не судьба?
|
|||
7
Sasha_uu
06.12.10
✎
12:05
|
(6) как его поделить?
|
|||
8
Mitriy
06.12.10
✎
12:06
|
(7)+ и где взять остаток...
|
|||
9
mikecool
06.12.10
✎
12:06
|
разностьдат(дата1, дата2, год) - в годах
разностьдат(дата1 - 86400 * 360 * разностьдат(дата1, дата2, год), дата2, месяц) - в месяцах разностьдат(дата1 - <разность в годах> - <разность в месяцах>, дата2, день) - в днях зы: наврал наверное ) |
|||
10
Sasha_uu
06.12.10
✎
12:08
|
(9) не подходит такой вариант
потомучто в одном году может быть 365 дней или 364 дня |
|||
11
mikecool
06.12.10
✎
12:09
|
(10) смотря для чего...
для стажа полный год = 360 дней |
|||
12
Mitriy
06.12.10
✎
12:09
|
(7) вообще в твоем случае, наверное, удобнее будет открыть для себя:
СП - Содержание - Общее описание встроенного языка - Встроенные функции - Функции работы со значениями типа Дата |
|||
13
Ненавижу 1С
гуру
06.12.10
✎
12:11
|
ВЫБРАТЬ
РАЗНОСТЬДАТ(&Дата1, &Дата2, ГОД) КАК Годы, РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Дата1, ГОД, РАЗНОСТЬДАТ(&Дата1, &Дата2, ГОД)), &Дата2, МЕСЯЦ) КАК Месяцы, РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Дата1, МЕСЯЦ, 12 * РАЗНОСТЬДАТ(&Дата1, &Дата2, ГОД) + РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Дата1, ГОД, РАЗНОСТЬДАТ(&Дата1, &Дата2, ГОД)), &Дата2, МЕСЯЦ)), &Дата2, ДЕНЬ) КАК Дни |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |