Правильный расчет лет, месяцев, дней между датами

Опубликовал Павел С (pavel_pss) в раздел Программирование - Практика программирования

Форма имеет поля дата, между которыми рассчитывается количество лет, месяцев, дней.
Также можно, имея дату начала и указав количество лет, месяцев, дней, узнать дату окончания.

Расчет происходит не средствами 1С, т.к. у 1С алгоритм не правильный.

Код открыт

Скачать файлы

Наименование Файл Версия Размер
РасчетПериодаМеждуДатами
.epf 9,08Kb
05.03.10
209
.epf 9,08Kb 209 Скачать

См. также

Комментарии
1. Андрей Ильин (ailin) 70 05.03.10 16:34 Сейчас в теме
Между 01.02.2010 - 28.02.2010 обработка выдает 27 дней
Между 01.01.2010 - 31.01.2010 - 30 дней
Должно быть 28 и 31 соответственно
raevsky@e1.ru; +1 Ответить 2
2. HEKPOH (wguki@yandex.ru) 05.03.10 17:14 Сейчас в теме
3. apalon_pss (pavel_pss) 05.03.10 18:03 Сейчас в теме
4. Андрей Ильин (ailin) 70 05.03.10 18:04 Сейчас в теме
5. HEKPOH (wguki@yandex.ru) 05.03.10 22:25 Сейчас в теме
(4) А вот здесь http://www.rvsn2.narod.ru/soft30.htm,
здесь http://help1c.com/faq/view/64.html
и здесь http://pers.narod.ru/jscript/datecalc.html считают, что между 1 и 28 февраля 27 дней. Эксель тоже так думает :)
6. Алексей Башта (bashta.aleksey) 06.03.10 00:12 Сейчас в теме
Правильно или не правильно - зависит только от ситуации/задачи.
Если считаем между 1 и 28 февраля то да = 27 дней, а если считать количество дней (для нач.зарплаты) = 28 :)
7. Армен Арабханян (Arabo_xv) 4 09.03.10 12:03 Сейчас в теме
Можно пример когда разность дат в 1С работает не корректно ?
raevsky@e1.ru; +1 Ответить
8. Galytskyy Volodymyr (arithmometr) 148 10.03.10 16:13 Сейчас в теме
28.02.2010 - 31.01.2010 = 27 дн (должно быть 1 мес.)
31.01.2010 + 27 дн = 27.02.2010 (правильно)
31.01.2010 + 1 мес. = 28.02.2010 (правильно)
Эту задачу не так просто решить.
9. apalon_pss (pavel_pss) 10.03.10 16:14 Сейчас в теме
Если мне память не изменяет то при получении разности дат (это типовая функция), она не правильно считает количество дней за год. (Могу ошибаться надо проверить) тоесть помоему за период 01.01.09 по 31.12.09 и 01.01.09 по 01.01.10 дает одинаковые данные. (вроде так). Как будет время проверю. :!:
10. Galytskyy Volodymyr (arithmometr) 148 10.03.10 16:59 Сейчас в теме
Несколько лет назад я писал эту функцию для версии 7.7
http://infostart.ru/public/66955/
11. serg85 (serg85) 28 13.10.11 18:30 Сейчас в теме
Спасибо за обработку, тема актуальна...