Restar horas a una fecha en php

Hola
Tengo un problema al querer restar horas a una fecha no se que este haciendo mal pero no hace lo que estoy restando no se si haya alguna otra forma de hacerlo.
Lo que he hecho es lo siguiente:
<?php
$fecha = "10_26_10_2005";
$partes = explode("_",$fecha);
$arreglo = $partes[3]."-".$partes[2]."-".$partes[1]." ".$partes[0].":00:00";
$final = date("H_d_m_Y",strtotime($arreglo."-3 hours"));
echo "Resultado: ".$final."\n\n";
?>
Gracias pot todo

3 respuestas

Respuesta
1
Ok a ver si te sirve este script debería de funcionarte y ojala así sea, me comentas como te fue...
<?php
$fecha = "10_26_10_2005";
$partes = explode("_",$fecha);
$arreglo = $partes[3]."-".$partes[2]."-".$partes[1]." ".$partes[0].":00:00";
$final = date("H_d_m_Y",mktime($partes[0]-3, 0, 0, $partes[2], $partes[1], $partes[3]));
echo "Resultado: ".$final."\n\n";
?>
Respuesta
1
Te lo esta haciendo bien.
Te quita 3 horas (al menos en mi pc si que lo hace)
el formato que utilizas es Horas_dia_mes_año, con tu ejemplo 10_26_10_2005 las 10 del 26 del 10 del 2005 y devuelve 7_26_10_2005 las 7 del 26 del 10 del 2005
Respuesta
1
<?php
// porque la fecha viene en este formato?
$fecha = "10_26_10_2005";
//tomar la fecha del server sin necesidad del explode con guion...
// $fecha = date( "H i s d m Y");
$partes = explode("_",$fecha);
$x = time();
$arreglo = $partes[0]." 00 00 ".$partes[1]." ".$partes[2]." ".$partes[3];
list($hora, $min, $seg, $dia, $mes, $anno) = explode( " ", $arreglo);
$hora = $hora - 3;
$final = date("H_d_m_Y", mktime($hora, $min, $seg, $mes, $dia, $anno));
echo "Resultado: ".$final."\n\n";
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas