Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.04.2014, 03:18
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

количество месяцев в временном отрезке :)
Есть начальная дата и есть конечная дата, тобишь есть временной отрезок.
Нужно узнать сколько месяцев уместилось во временном отрезке с учетом высокосных и невысокосных годов, включая месяцы начальной и конечной даты.

Придумал вот такое вот чудо
var day=(1000*60*60*24),
       startTime=new Date().getTime(),
       endTime=startTime+day*prompt("количество дней от сегодняшнего дня:","0");
      
      function monthCount(startTime,endTime){    
        var oldMonth="",
        	mCount=0,
			day=(1000*60*60*24),
            month;
        
        while(startTime<endTime){
          month=(new Date(startTime)).getMonth();
          if( month!=oldMonth) mCount++;
          
          oldMonth=month;       
          startTime=startTime+day;  
        } 
        return mCount; 
      }
      
	  alert(monthCount(startTime,endTime));


Если кто-то предложит чего нибудь круче, тому респект
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 03.04.2014 в 03:26.
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2014, 03:45
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Второй подход
var day=(1000*60*60*24),
       startTime=new Date().getTime(),
       endTime=startTime+day*prompt("количество дней от сегодняшнего дня:","0"),
	   sT=new Date(startTime),
	   eT=new Date(endTime),
       m1=sT.getMonth()+(sT.getYear()*12),
       m2=eT.getMonth()+(eT.getYear()*12);
	 
       alert( (m2-m1)+1);

таки да, нихерово я туплю
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 03.04.2014 в 10:39.
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2014, 03:54
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Такое требование считать именно календарные месяцы для какого то реального проекта или прост задачка? Есть понятие «финансовый год», просто делят на 30 и получают количество месяцев.

Промежуток времени между датами
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальное количество повторов в строке. opilune Ваши сайты и скрипты 7 24.02.2014 00:23
Как получить количество дней до определенной даты beard Общие вопросы Javascript 3 24.06.2012 17:22
Ограничить количество символов в textarea iNfantry jQuery 2 14.05.2012 11:35
Задача в том, чтобы проставить галочки на журналы и газеты, выбрать количество месяце karat2707 Events/DOM/Window 5 18.04.2012 03:22
Посчитать общее количество баллов userbanderas jQuery 7 21.09.2011 16:36