Pregunta: | 55200 - DATEDIFF -PHP- SQL SERVER2000 |
Autor: | Maikel Garcia |
Necesito ayuda, estoy tratando de realizar calculos con fechas por medio de php, las fechas las tengo en una tabla de Sql Server y desde php envio la siguiente consulta al sql server con la funcion mssql_query.
SELECT DATEDIFF(day, Fecha_Escalado, GETDATE()) As dias FROM Historial_Falla al momento de mostrar los resultados de esta consulta en php no me muestra nada sale todo en blanco. pero la consulta se esta realizando no da error y con foreach se puede hacer el rrecorrido de todos los campos que tiene la tabla Historial_Falla Agradezco si me pueden ayudar gracias |
Respuesta: | Christian Oswaldo Cuadras Montoya |
Que tal Maikel:
Le falto a tu pregunta especificar el formato de las fechas que quieres restar, yo realize un codigo para calcular la diferencia entre dos fechas con el formato aaaa-mm-dd hh:mm:ss (formato DATETIME), solo no utilize los segundos, el resultado que me devuelve es la cantidad de minutos que hay entre una fecha y otra. $a="2009"; $m="01"; $d="5"; $hora="06"; $min="25"; fecha_fin= 2009-01-05 06:25 $a1="2009"; $m1="01"; $d1="5"; $hora1="06"; $min1="30"; fecha_fin= 2009-01-05 06:30 El resultado seria 5 minutos. ------EL CODIGO ES EL SIGUIENTE-----
Si esperas otro resultado simplemente haz tus propios calculos, espero que esto te sirva. Saludos. |
Respuesta: | Luis |
Prueba con esta función (personalizala tú mismo):
function diferencia_fechas($fecha1, $fecha2, $intervalo) { // ** Establece la fecha 1 $fecha_1 = mktime(date("H", strtotime($fecha1)), date("i", strtotime($fecha1)), date("s", strtotime($fecha1)), date("m", strtotime($fecha1)), date("d", strtotime($fecha1)), date("Y", strtotime($fecha1))); // ** Establece la fecha 2 $fecha_2 = mktime(date("H", strtotime($fecha2)), date("i", strtotime($fecha2)), date("s", strtotime($fecha2)), date("m", strtotime($fecha2)), date("d", strtotime($fecha2)), date("Y", strtotime($fecha2))); // ** Resta las fechas $dif_fechas = $fecha_1 - $fecha_2; // ** Dependiendo del intervalo de entrada carga el valor de la diferencia if ($intervalo == "horas") $dif_fechas = sprintf('%d', $dif_fechas / 3600); if ($intervalo == "minutos") $dif_fechas = sprintf('%d', $dif_fechas / 60); if ($intervalo == "segundos") $dif_fechas = sprintf('%d', $dif_fechas); // ** Devuelve la diferencia de fechas en el intervalo return $dif_fechas; } |