|   |   | 
| 
 | v7: Подскажите как имея кол-во дней найти сколько это лет,месяцев,дней | ☑ | ||
|---|---|---|---|---|
| 0
    
        ОМЭЗ 04.04.12✎ 12:51 | 
        Подскажите как имея кол-во дней найти скоько это лет,месяцев,дней.
  Интересует алгоритм может кто с этим сталкивался???? Есть фун-ия которая возвращает кол-во дней,хотелось бы разбить дни на года,месяца и дни | |||
| 1
    
        Он 04.04.12✎ 12:53 | 
        Дома лежит. Там есть грабли. ЗиК врёт.     | |||
| 2
    
        Fish гуру 04.04.12✎ 12:55 | 
        (0) Посчитать не предлагать?     | |||
| 3
    
        vinogradъ 04.04.12✎ 12:56 | 
        (0) точное кол-во лет-месяцев-дней можно посчитать только если есть 2 даты, по количеству дней - никак     | |||
| 4
    
        dk 04.04.12✎ 12:56 | 
        тупо
  '01.01.0001' + твое количество дней | |||
| 5
    
        dk 04.04.12✎ 12:57 | 
        но, не точно )     | |||
| 6
    
        Sedoy 04.04.12✎ 12:59 | 
        Написать собственную функцию...     | |||
| 7
    
        ОМЭЗ 04.04.12✎ 12:59 | 
        С двумя датами я понимаю как найти,но там цикл и всеровно если считать от дат то мне нужно будет слаживать Год+ Год,месяц+месяц,дни+дни... потом сверять добовлять.Думал мож как-то проще можно     | |||
| 8
    
        vinogradъ 04.04.12✎ 12:59 | 
        Функция глРасчетСтажа(НачалоОтсчета, ДатаРасчета) Экспорт                                                                
  Перем ДнейВМесяце[12]; Г2 = ДатаГод(ДатаРасчета); М2 = ДатаМесяц(ДатаРасчета); Д2 = ДатаЧисло(ДатаРасчета); Г1 = ДатаГод(НачалоОтсчета); М1 = ДатаМесяц(НачалоОтсчета); Д1 = ДатаЧисло(НачалоОтсчета); Лет = Г2 - Г1; Если М2 < М1 Тогда Лет = Лет - 1; КонецЕсли; Месяцев = ?(М2 > М1, М2 - М1, М2 + (12 - М1)); Месяцев = ?(М2 = М1, 0, Месяцев); Если Д2 < Д1 Тогда Месяцев = Месяцев - 1; Если Месяцев = -1 Тогда Месяцев = 11; Лет = Лет - 1; КонецЕсли; КонецЕсли; ДнейВМесяце[1] = 31; ДнейВМесяце[2] = ?(Г1%4 = 0, 29, 28); ДнейВМесяце[3] = 31; ДнейВМесяце[4] = 30; ДнейВМесяце[5] = 31; ДнейВМесяце[6] = 30; ДнейВМесяце[7] = 31; ДнейВМесяце[8] = 31; ДнейВМесяце[9] = 30; ДнейВМесяце[10] = 31; ДнейВМесяце[11] = 30; ДнейВМесяце[12] = 31; Дней = ?(Д2 > Д1, Д2-Д1, Д2 + (ДнейВМесяце[М1] - Д1)); Дней = ?(Д2 = Д1, 0, Дней); Сз = СоздатьОбъект("СписокЗначений"); Сз.ДобавитьЗначение(Лет, "Лет"); Сз.ДобавитьЗначение(Месяцев, "Месяцев"); Сз.ДобавитьЗначение(Дней, "Дней"); Возврат Сз; КонецФункции | |||
| 9
    
        Sedoy 04.04.12✎ 12:59 | 
        +6 = - 3 часа на форуме     | |||
| 10
    
        ОМЭЗ 04.04.12✎ 13:00 | 
        (9)У меня там цикл с датами,всеровно потом слаживать нужно     | |||
| 11
    
        Rovan гуру 04.04.12✎ 13:02 | 
        (0) бред какой-то! например у тебя 30 дней:
  если от 1 января, то это просто 30 дней а если 1 февраля, то 1 месяц и 2 дня (или даже 1 день, если в феврвле 29 дней) | |||
| 12
    
        Он 04.04.12✎ 13:08 | ||||
| 13
    
        andrewks 04.04.12✎ 13:09 | 
        (3) +1     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |