PHP - Restar hora y fecha

 
Vista:
sin imagen de perfil

Restar hora y fecha

Publicado por andres (63 intervenciones) el 19/03/2014 16:16:52
Hola a todos quisiera saber que funcion o como puedo yo restar 2 horas y 2 fechas en php y que me arroje el resultado gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sinclair

Restar hora y fecha

Publicado por Sinclair (2 intervenciones) el 20/03/2014 00:22:59
Que tal andres,

Te paso el codigo que utilizo, la cual siempre me ha sacado de apuros a la hora de restar fechas.

======
Restar Fechas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function resta_fechas($fecha1,$fecha2, $absoluto = true){
		if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))
 
 
		list($año1,$mes1,$dia1)=explode("/",$fecha1);
 
 
		if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1))
 
 
		//list($año1,$mes1,$dia1)=split("-",$fecha1);
		$Res1	=	explode("-",$fecha1);	//	0 = Año ; 1 = Mes ; 2 = Dia
		if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))
 
 
		//list($año2,$mes2,$dia2)=explode("/",$fecha2);
		$Res2	=	explode("-",$fecha2);	//	0 = Año ; 1 = Mes ; 2 = Dia
 
		if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2))
 
 
		//list($año2,$mes2,$dia2)=explode("-",$fecha2);
		$Res3	=	explode("-",$fecha2);	//	0 = Año ; 1 = Mes ; 2 = Dia
		$dif = mktime(0,0,0,$Res1[1],$Res1[2],$Res1[0]) - mktime(0,0,0,$Res3[1],$Res3[2],$Res3[0]);
 
 
 
		$dif = $dif / (60*60*24);
 
		$dif = ($absoluto)?abs($dif):$dif;
		$ndias=floor($dif);
 
		return($ndias);
 
	}
 
	// Asi es como se implementa
	echo resta_fechas(date('Y-m-d'),'2014-03-10', $absoluto = true);
==========================

Tengo el de sumar Horas, pero la logica para restar solo seria cambiar el operador logico (+) por el ( - ),

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function SumarHoras($HorayMin , $Add_hora = false , $Add_mint = false )
	{
		// SUMAR HORAS Y MINUTOS A LA HORA
 
		// $Hora	=	"08:30"; 
		// supongamos que esta es la hora de inicio a la cual sumaremos el tiempo deseado
		// bien ahora vamos a partir la cadena para poder sumarle el tiempo ya sea para los
               // hora o para los minutos
 
		$Hrs 	= 	explode(':', $HorayMin);
 
		//usamos la funcion mktime para convertir nuestro tiempo a fecha y poder darle un formato deseado
 
                // Con la siguiente sentencia sumaria
		//$hora2	=	date("H:i", mktime($Hrs[0]+$Add_hora, $Hrs[1]+$Add_mint, 0));
 
               // Con la sisguiente sentencia restaria
                $hora2	=	date("H:i", mktime($Hrs[0]+$Add_hora, $Hrs[1]-$Add_mint, 0));
		//Vamos a imprimir la variable para ver que nos arroja
		return $hora2;
		//bien espero no fallar en este script y que les sirva de algo
 
	}
   // Salida: Le sumo 10 minutos a la hora actual
   // con cambiar los calores en los parametros consigues sumar o restar horas o minutos
      echo SumarHoras(date('H:i') , false , 10);

================

Bueno espero esto te sirva.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Restar hora y fecha

Publicado por andres (63 intervenciones) el 21/03/2014 14:41:22
Gracias a los 2 estan muy buenos los codigos me fueron de mucha ayuda gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar