Foros del Web » Programación para mayores de 30 ;) » .NET »

JScript

Estas en el tema de JScript en el foro de .NET en Foros del Web. [WebForms] [JavaScript] Hola a todos, estoy tratando de crear una función en javascript que simule el datediff del SQLSERVER, esta funcion recibe como parametros el ...
  #1 (permalink)  
Antiguo 30/03/2005, 14:34
 
Fecha de Ingreso: diciembre-2004
Mensajes: 130
Antigüedad: 19 años, 4 meses
Puntos: 0
JScript

[WebForms]
[JavaScript]

Hola a todos, estoy tratando de crear una función en javascript que simule el datediff del SQLSERVER, esta funcion recibe como parametros el intervalo("d"=numero de dias, "h"=numero de horas, etc), fecha de inicio, fecha de fin.

y le envio a mi funcion lo siguiente:
var inicio = document.Form1.txtInicio.value;//01/01/2005
var fin = document.Form1.txtFin.value;//02/01/2005
var dias = dateDiff("d",inicio,fin);

Y la respuesta es : 31 ... debiendo ser solamente 1.
Es decir el formato de esta funcion esta trabajando como dd/MM/yyyy y yo tengo mi aplicacion con dd/MM/yyyy...

Esta es la funcion.


Código:
function dateDiff(p_Interval, p_Date1, p_Date2){
var dt1 = new Date(p_Date1);
var dt2 = new Date(p_Date2);

var iDiffMS = dt2.valueOf() - dt1.valueOf();
var dtDiff = new Date(iDiffMS);

var nYears = dtDiff.getUTCFullYear()-1970;
var nMonths = dtDiff.getUTCMonth() + (nYears!=0 ? nYears*12 : 0);
var nQuarters = parseInt(nMonths/3);
var nWeeks = parseInt(iDiffMS/1000/60/60/24/7);
var nDays = parseInt(iDiffMS/1000/60/60/24);
var nHours = parseInt(iDiffMS/1000/60/60);
var nMinutes = parseInt(iDiffMS/1000/60);
var nSeconds= parseInt(iDiffMS/1000);
var nMilliseconds = iDiffMS;

var iDiff = 0;
switch(p_Interval.toLowerCase()){
case "yyyy": return nYears;
case "q": return nQuarters;
case "m": return nMonths;
case "y": // day of year
case "d": return nDays;
case "w": return nDays;
case "ww":return nWeeks;
case "h": return nHours;
case "n": return nMinutes;
case "s": return nSeconds;
case "ms":return nMilliseconds;
default: return "intervalo no válido: '" + p_Interval + "'";
}
}

Alguien podria decirme que falta para que trabaje en formato dd/MM/yyyy

O haber si me ayudan de otra manera, yo necesito crear una funcion que en base a dos fechas me retorne en numero de meses que ahn transcurrido entre esas dos fechas pero con la perticularidad de que si han transcurrido 3meses y dos dias la respuesta debera ser "han transcurrido 4 meses", gracias pipol.

Saludos cordiales
__________________
langdotnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:47.