Добрый день!
Изучаю объект Дата
Решил создать простую форму, определяющая разницу между текущей и заданной датой.
Справочно В Date() дата указывается так - Date(2014,0,25)
 Значение параметра
( 2014,0,25) я решил вводить в форме и затем оно проставляется в  коде в объект Date()
Но если пользователь введет в форму  
2014,0,25  то месяц будет не 
январь 2014 а 
декабрь за 2013.
Если же  2014,0,25  ввести вручную в коде в параметр объекта Date(), то все нормально - отображается январь.
Понятно что можно ввести в в форму 2014,1,25 тогда все нормально.
Но все же ,почему так происходит? Ведь в Date  0- январь..
вот  мой 
java script код 
function getdate(){
//получаем значение даты введенное в форму пользователем		
var valuedate=document.f2.getdateinput.value;
//заменяем символы введенные пользователем на запятую(по формату Date()
var rexp=/- \/\./g;//перечень возможных символов введенным пользователем
var changeval=valuedate.replace(rexp,',')//замена на запятую
	var date=new Date();//текущая дата
	var newdate= new Date(changeval);//новая дата,   переменная va changeval - в ней содержатся дата ,введенная пользователем
	var deff=newdate-date;            //получаем разницу между текущей и новой датой
	var sec=Math.floor(deff/1000);    //получаем секунды
	var min=Math.floor(sec/60);       //получаем минуты
	var hour=Math.floor(min/60);	  //получаем часы
	var day=Math.floor(hour/24);	//получаем день
	
	//здесь просто выводится информация о времени 
    var mainrez=document.getElementById('div2');
    mainrez.innerHTML= 'Дата,котрую вы ввели '+newdate+'<br/>'+'Дата которая записалась в параметр Date() ' +changeval+'<br/>'+
'Осталось минут '+min+'</br>'+'Осталось часов '+hour+'</br>'+'Осталось дней '+day;
	
}
HTML код
<form name="f2">
	<label for="getdate">Enter date</label>
	<input  type="datetime" id="getdate" value='' name="getdateinput" width="50px"/>
</form>
	<form name="f1">
	<input type="button" value="get date" onclick="getdate()"/>
	</form>
<div id="div2">
</div>