Имя: Пароль:
1C
 
Разница между двумя датами в месяцах
Ø
0 Alexoff
 
17.06.06
17:15
Как вычислить разницу между двумя датами в месяцах?
1 VZ
 
17.06.06
18:18
(Год2-Год1)*12+(Месяц2-Месяц1)
2 USSR
 
17.06.06
18:36
(1)Несколько неверно, если месяц следующего года меньше
3 VicAlex
 
17.06.06
19:20
А что в этом плане между V7 и V8 разницы нет?
4 VZ
 
17.06.06
21:14
(2) А ты проверь. Возьмем, например, январь 2006 и декабрь 2005. Получим:
(2006-2005)*12+(1-12)=12-11=1
5 USSR
 
17.06.06
22:02
(4)Беру слова обратно, тормознул с минусом:)
(3)Даты существуют независимо от платформы, хотя пространство и время - категории философские:)
6 Lys
 
17.06.06
22:36
(0) А если попробовать Запрос и в нем - РазностьДат()?
7 VicAlex
 
18.06.06
03:23
Если философское, тогда так:
РазницаМесяцев=(12*ДатаГод(ВыбКонПериода)+ДатаМесяц(ВыбКонПериода))
-(12*ДатаГод(ВыбНачПериода)+ДатаМесяц(ВыбНачПериода));
VBS - скрипт:
'разница месяцев
Diff = DateDiff("m","01.01.05",Now) 'интересно, что меняя первый параметр, можно получать разницу не только в месяцах, но и в часах, днях и т.д.
MsgBox Diff&" месяцев, а сегодня: "&Now
8 Дурочка 1С ®
 
18.06.06
03:28
А в чем разница между (1) и (7)?
9 Дурочка 1С ®
 
18.06.06
04:02
(4) Молодец! Только что же это за месяц втиснулся между декабрем и январем?
10 VicAlex
 
18.06.06
05:02
(8)Те же самые яйца, только в профиль.
11 VZ
 
18.06.06
10:49
(9) А ты хочешь =0? А между декабрем и декабрем = -1?
12 VZ
 
18.06.06
11:16
А вообще, исчисление разницы в датах вопрос интересный...
Итак, разница в месяцах между 01.12.2005 и 31.12.2005 = 0 (один же месяц, правда?)
Разница в месяцах между 31.12.2005 и 01.01.2006 = 0 (не не месяц же прошел за одну ночь, правда?)
Разница в месяцах между 01.01.2006 и 31.01.2006 = 0 (один же месяц, правда?)
.................
Складываем, и получаем: разница в месяцах между 01.12.2005 и 31.12.2006 = 0.
13 kos
 
18.06.06
22:48
Жаль нет встроенной функции, как в запросе - РазностьДдат, там в качестве параметра можно период задавать.
14 VicAlex
 
19.06.06
00:19
Ответы зависят от того, что вкладывать в понятие разница месяцев,а именно:от цены деления измерительного прибора.
Если рассматривать разницу месяцев как интегральную величину более мелких периодов, тогда можно согласиться с твоими выводами. В противном случае:
1-я строчка - 0 месяцев;
2-я строчка - 1 месяц;
3-я строчка - 0 месяцев.
Зы: но если долго размышлять, например, 00:00:00 - это конец конец текущих суток или начало следующих, то есть много шансов что за тобой приедут.
15 VZ
 
19.06.06
00:45
(14) Если заметил, всюду повторено "разница месяцев", но в примерах смешано (скромно умалчивая) два разных определения ;) Это, несомненно, мошенничество, с целью подчеркнуть неопределенность задачи (0).
16 Силиван
 
19.06.06
09:25
(12) Первая строка Вообщето Если так рассуждать, то можно доказать, что 1=1000000 и вообще любое число равно любому и т.д. а тогда можно сделать вывод: бухгалтерия - это фикция и т.д. ;)