![]() |
![]() |
![]() |
|
Как перевести кол-во дней в (дни,месяцы,годы)? | ☑ | ||
---|---|---|---|---|
0
Tarantino
16.06.06
✎
09:53
|
?
|
|||
1
Tarantino
16.06.06
✎
09:54
|
Сложность в том что кол-во дней может быть разным в месяце,в годе....
|
|||
2
ZolotarevAA
16.06.06
✎
09:56
|
(0) Не очень понял что хочешь, приведи пару примеров "перевода".
|
|||
3
Tarantino
16.06.06
✎
09:57
|
23234243242542 сек = 2 года,3 месяца,6 дней
|
|||
4
Tarantino
16.06.06
✎
09:57
|
А это я получил 23234243242542 сек =Дата1-Дата2
|
|||
5
avmlvm
16.06.06
✎
09:59
|
(1) И чЁ, что разная? Как это влияет...
если событие произошло 2 года 3 месяца 6 дней 13 часов 12 минут 52 сек назад.. так эта цифра не измениться ни в высокосный год ни в обычный... |
|||
6
Мелкий бес
16.06.06
✎
10:02
|
пример для 500 дней
НачДата = '00010101'; МояДата = НачДата+500*24*60*60; Лет = Год(МояДата); Месяцев = Лет*12+Месяц(МояДата); |
|||
7
Поиском
16.06.06
✎
10:02
|
||||
8
AndrewHV
16.06.06
✎
10:02
|
Вот, нашел в конфигурации "Зарплата и Кадры" (v7).
|
|||
9
Rovan
гуру
16.06.06
✎
10:03
|
(0) из 7.7
Процедура глРазобратьРазностьДат(Знач Дата1,Знач Дата2,Лет=0,Месяцев=0,Дней=0) Экспорт Лет = 0; Месяцев = 0; Дней = 0; Если Дата1>Дата2 Тогда ВременнаяДата = Дата1; Если ДатаЧисло(ВременнаяДата)<ДатаЧисло(Дата2) Тогда Дней = ВременнаяДата-ДобавитьМесяц(ВременнаяДата,-1); ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-1); КонецЕсли; Если ДатаМесяц(ВременнаяДата)<ДатаМесяц(Дата2) Тогда ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-12); Месяцев = 12; КонецЕсли; Лет = Макс( ДатаГод (ВременнаяДата)-ДатаГод (Дата2),0); Месяцев = Макс(Месяцев +ДатаМесяц(ВременнаяДата)-ДатаМесяц(Дата2),0); Дней = Макс(Дней +ДатаЧисло(ВременнаяДата)-ДатаЧисло(Дата2),0); // скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах Если Дата2 <> (ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней) Тогда Дней = Дней + (КонМесяца(Дата2)-НачМесяца(Дата2)) - (КонМесяца(ДобавитьМесяц(Дата1,-1))-НачМесяца(ДобавитьМесяц(Дата1,-1))); КонецЕсли; КонецЕсли; КонецПроцедуры // глРазобратьРазностьДат |
|||
10
Ёжик в тумане
16.06.06
✎
10:09
|
Надо знать либо дату начала, либо дату конца периода.
|
|||
11
Мелкий бес
16.06.06
✎
10:10
|
для известных Дата1 и Дата2
КоличествоЛет = Год(Дата1)-Год(Дата2) КоличествоМесяцев = КоличествоЛет*12 + Месяц(Дата1)-Месяц(Дата2) КоличествоДней = (Дата1-Дата2)/(24*60*60) |
|||
12
Tarantino
16.06.06
✎
10:27
|
Благодарю всех!Много интересного!Воспользуюсь(11)!
|
|||
13
Tarantino
16.06.06
✎
10:43
|
Воспользовался Процедурой Разобрать разность дат-взял из ЗуП, в УПП не такой!
|
|||
14
vde69
16.06.06
✎
10:44
|
(11) КоличествоМесяцев = КоличествоЛет*12 + Месяц(Дата1)-Месяц(Дата2)
не катит, поскольку могут быть переходящие через год даты |
|||
15
AndrewHV
16.06.06
✎
10:46
|
Вот, нашел в конфигурации "Зарплата и Кадры" (v7).
|
|||
16
vde69
16.06.06
✎
10:46
|
(14) сори... катит
|
|||
17
AndrewHV
16.06.06
✎
10:46
|
Прикол :), я думал у меня в первый раз не получлось. :)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |