Foros del Web » Programando para Internet » PHP »

Resta entre fechas

Estas en el tema de Resta entre fechas en el foro de PHP en Foros del Web. Como puedo hacer para que me haga esta operacion en php 19:31:38 - 06:00:00 = 13:31:38 Solo no se como hacer la resta en php ...
  #1 (permalink)  
Antiguo 17/01/2013, 16:26
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
Resta entre fechas

Como puedo hacer para que me haga esta operacion en php

19:31:38 - 06:00:00 = 13:31:38

Solo no se como hacer la resta en php el resto se como hacerlo
  #2 (permalink)  
Antiguo 17/01/2013, 16:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Resta entre fechas

Revisa la documentación, existen funciones para manejar ese tipo de datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/01/2013, 16:51
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Resta entre fechas

Correcto ya encontre como hacerlo

function restaHoras($horaIni, $horaFin){
return (date("H:i:s", strtotime("00:00:00") + strtotime($horaIni) - strtotime($horaFin) ));
}
  #4 (permalink)  
Antiguo 17/01/2013, 17:11
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Resta entre fechas

Si tienes PHP 5.3+ puedes usar el método sub de la clase DateTime:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $dt = new DateTime('19:31:38');
  4. echo $dt->sub(new DateInterval('PT6H'))->format('H:i:s'); //13:31:38

Si tienes PHP 5.2+, puedes usar el método modify de la clase DateTime:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $dt = new DateTime('19:31:38');
  4. echo $dt->modify('-6 hour')->format('H:i:s'); //13:31:38

Con mktime, sirve así:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $hora = '19:31:38';
  4. $t = explode(':', $hora);
  5. echo date('H:i:s', mktime($t[0]-6, $t[1], $t[2], 0, 0, 0)); //13:31:38

No recomendado en el manual, pero sirve esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $hora = '19:31:38';
  4. echo date('H:i:s', strtotime("$hora -6 hour"));

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: resta
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 01:38.