|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2019, 12:13 | #1 |
Форумчанин
Регистрация: 11.10.2010
Сообщений: 152
|
Функция расчета стажа
Есть функция, считает стаж.
Но возникает вопрос, почему по отдельности два периода считает так: 24.05.1988 - 11.08.1988 = 0 лет 2 мес 19 дн 12.08.1988 - 12.07.1994 = 5 лет 11 мес 1 дн В "уме" если сложить получим 6 лет 1 мес 20 дн Но если объединить периоды и к ним применить функцию, то получим: 24.05.1988 - 12.07.1994 = 6 лет 1 мес 19 дн Почему? P.S. @stag_coeff_ принимать за 0 на входе, @ftime = 'P' Код функции: Код:
Последний раз редактировалось nactyx; 21.08.2019 в 12:16. |
21.08.2019, 12:32 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Потому что в году не всегда 365 дней, да и в месяце бывает не только 30 дней
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.08.2019, 13:06 | #3 |
Форумчанин
Регистрация: 11.10.2010
Сообщений: 152
|
Это не новость. Главная загвоздка в том, что периоды одинаковые. Два отдельных, идущих друг за другом в сумме дают одно. А если их "слепить" и применить к таком периоду функцию - сумма другая на один день. Почему? Понять не могу. В этом вопрос.
|
21.08.2019, 13:47 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
datediff(month, '20190201', '20190301') вернет 1 месяц, там разница по факту и есть месяц
datediff(day, '20190201', '20190301') вернет 28 дней, что с точки зрения функции совсем не месяц после деления нацело на 30
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
21.08.2019, 14:58 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
22.08.2019, 11:18 | #6 |
Форумчанин
Регистрация: 11.10.2010
Сообщений: 152
|
Спасибо, разобрался.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
расчет стажа работы | SAUUNSAPR | Microsoft Office Excel | 9 | 15.06.2016 11:51 |
Расчет стажа сотрудников | Zet_iKs | Microsoft Office Excel | 13 | 02.04.2016 12:37 |
Подсчет трудового стажа | Paraz1t | SQL, базы данных | 6 | 27.06.2012 11:40 |
Сортировка по возрастанию и убыванию стажа | betirsolt | БД в Delphi | 3 | 16.11.2010 17:52 |
Расчет стажа работы | John_chek | Общие вопросы Delphi | 6 | 13.04.2007 13:38 |