Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2013, 23:35
Новичок на форуме
Отправить личное сообщение для bf_karatel Посмотреть профиль Найти все сообщения от bf_karatel
 
Регистрация: 06.04.2013
Сообщений: 6

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

<html>
<head>
<script type="text/javascript">
var time= new Date();
var i
  i=time.getMonth()
if(i>7)
  var leto=new Date(time.getFullYear()+1, 5, 1)
else
 if((i!=5)&&(i!=6)&&(i!=7))
  var leto=new Date(time.getFullYear(), 5, 1)
 else
  {
   alert("Лето идет") 
   exit
  }
var Hour=Math.ceil((leto-time)/(1000*60*60*24));
alert("Количество часов: "+hour);
</script>
</head>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 30.05.2013, 00:04
Аспирант
Отправить личное сообщение для NeoN Посмотреть профиль Найти все сообщения от NeoN
 
Регистрация: 01.03.2013
Сообщений: 77

var time= new Date();
var i=time.getMonth();
if(i>7)   var leto=new Date(time.getFullYear()+1, 5, 1);
else if(i<5) var leto=new Date(time.getFullYear(), 5, 1);
else {
	alert("Лето идет") ;
	exit;
}
var Hour=Math.floor((leto-time)/1000/60/60);
alert("Количество часов: "+Hour);

Последний раз редактировалось NeoN, 30.05.2013 в 00:11.
Ответить с цитированием
  #3 (permalink)  
Старый 30.05.2013, 00:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

bf_karatel,

Вариант ...
var time= new Date(),
leto = new Date(time.getFullYear(), 5, 1, 0, 0, 0),
end = '',next = '',
hour;
if (time.getTime() >leto.getTime())  {
end = new Date(time.getFullYear(), 8, 1, 0, 0, 0);
end = (end.getTime() > time.getTime())?'Сейчас лето.':'';
leto = new Date(time.getFullYear()+1, 5, 1, 0, 0, 0);
next = 'следующего';
};
hour=Math.ceil((leto.getTime()- time.getTime())/(1000*60*60));
alert(end+" Количество часов до начала "+next+" лета: "+hour);

Последний раз редактировалось рони, 30.05.2013 в 00:56.
Ответить с цитированием
Ответ



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

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