Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2011, 16:10
Lizalina_san
 
Fecha de Ingreso: septiembre-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Restar Fechas con formato literal en los meses

Buenas tardes, tengo un problema estoy restando dos fechas del tipo mm/dd/yyyy y la resta sale bien, pero ahora el campo mm cambio por literal por ejemplo Feb 28, 2011 y la funcion que tengo pues ya no me sirve, como puedo restar fechas con meses en formato literal, lo que tenia era lo siguiente:

function daysBetween(date1, date2){
var date1=getField('From').value;
var date2=getField('To').value;

var aDateTo=date1.split('/');
var aDateFrom=date2.split('/');
var sDateTo=aDateTo[2]+aDateTo[0]+aDateTo[1]+'';
var sDateFrom=aDateFrom[2]+aDateFrom[0]+aDateFrom[1]+'';



if(parseFloat(sDateTo) < parseFloat(sDateFrom) || parseFloat(sDateTo) == parseFloat(sDateFrom))
{

if (date1.indexOf("-") != -1) { date1 = date1.split("-"); } else if (date1.indexOf("/") != -1) { date1 = date1.split("/"); } else { return 0; }
if (date2.indexOf("-") != -1) { date2 = date2.split("-"); } else if (date2.indexOf("/") != -1) { date2 = date2.split("/"); } else { return 0; }
if (parseInt(date1[0], 10) >= 1000) {
var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
} else if (parseInt(date1[2], 10) >= 1000) {
var sDate = new Date(date1[2]+"/"+date1[0]+"/"+date1[1]);
} else {
return 0;
}
if (parseInt(date2[0], 10) >= 1000) {
var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);
} else if (parseInt(date2[2], 10) >= 1000) {
var eDate = new Date(date2[2]+"/"+date2[0]+"/"+date2[1]);
} else {
return 0;
}
var one_day = 1000*60*60*24;
var daysApart = Math.abs(Math.ceil((sDate.getTime()-eDate.getTime())/one_day));
getField('Number_days').value = daysApart;
return daysApart;
}
else

alert('Field "To" should be greater than Field "From".');

}

Tal vez se puede adaptar de alguna forma, agradeceria muchisimo su ayuda

Saludos