Está en la página 1de 8

Sumar y restar horas y minutos con PHP

baulphp.com/sumar-y-restar-horas-y-minutos-con-php

7 de mayo de
2018

Sumar y restar horas y minutos con PHP. En este artículo veremos cómo podemos sumar
una fecha tipo DATETIME en el lenguaje PHP. Pude ser, declarada en una variable o enviada
desde un formulario HTML. Sin embargo, para sumar horas a una fecha hay que tener
presente las versiones del PHP.

Las versiones que utilizaremos para este artículo serán el PHP4 y PHP5. Por lo tanto, en las
dos versiones la forma de incrementar horas puede variar de manera sustancial y lo
detallaremos a continuación.

1/8
Sumar y restar horas PHP

Para lograr una suma de horas de manera precisa es muy importante decirle a PHP en que
zona horaria te encuentras. Ahora, la hora puede variar de acuerdo al país donde te
encuentres.
Un ejemplo, si estas en Venezuela no será la misma hora si estas en Chile.

La solución es declarar una función predeterminada del php para indicarle en donde te
encuentres y que trabaje con esa hora. Otros usos, por ejemplo guardar un “datetime”
exacta cuando se realiza una compra.

2/8
<?php
// Si estas en Lima Peru Utiliza esta declaracion
date_default_timezone_set("America/Lima");

// Si estas en Bolivia Utiliza esta declaracion

date_default_timezone_set("America/La_Paz");

// Si estas en Colombia Utiliza esta declaracion


date_default_timezone_set("America/Bogota");
?>

Esta declaración de la función “date_default_timezone_set” se declara al inicio de nuestro


fichero PHP, dependiendo del país de residencia. Consulte que declaración es su país.

#1 Sumar y restar horas usando la version PHP 4

Sumar horas en PHP 4


En PHP 4 utilizaremos la función predeterminada “ strtotime ” para sumar horas.

<?php
$mifecha= date('Y-m-d H:i:s');
$NuevaFecha = strtotime ( '+5 hour' , strtotime ($mifecha) ) ;
$NuevaFecha = strtotime ( '+18 minute' , $NuevaFecha ) ;
$NuevaFecha = strtotime ( '+30 second' , $NuevaFecha ) ;
$NuevaFecha = date ( 'Y-m-d H:i:s' , $NuevaFecha);
echo $NuevaFecha;
?>

Restar horas en PHP 4

<?php
$mifecha= date('Y-m-d H:i:s');
$NuevaFecha = strtotime ( '-5 hour' , strtotime ($mifecha) ) ;
$NuevaFecha = strtotime ( '-18 minute' , $NuevaFecha ) ;
$NuevaFecha = strtotime ( '-30 second' , $NuevaFecha ) ;
$NuevaFecha = date ( 'Y-m-d H:i:s' , $NuevaFecha);
echo $NuevaFecha;
?>

#2 Sumar y restar horas usando la version PHP 5


En las versiones de PHP 5 en adelante, utilizaremos el estilo orientado a objetos “new
DateTime()”.

3/8
<?php
$mifecha = new DateTime();
$mifecha->modify('+5 hours');
$mifecha->modify('+18 minute');
$mifecha->modify('+30 second');
echo $mifecha->format('d-m-Y H:i:s');
?>

PHP 5 Restar horas a una fecha tipo DATETIME

<?php
$mifecha = new DateTime();
$mifecha->modify('-5 hours');
$mifecha->modify('-18 minute');
$mifecha->modify('-30 second');
echo $mifecha->format('d-m-Y H:i:s');
?>

Código completo de Sumar y restar Horas con PHP


<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Sumar y restar horas en PHP</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<head>
<body>
<?php date_default_timezone_set("America/Lima"); ?>
<nav class="navbar navbar-default">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-
example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="./">BaulPHP</a> </div>

<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li ><a href="ListaContactos.php">Inicio <span class="sr-only">(current)</span></a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
4/8
</nav>
<div class="container">

<div class="row">
<div class="col-md-12">

<!--Inicio elementos contenedor-->


<div class="container theme-showcase" role="main">
<div class="page-header">
<h3>Sumar y restar horas en PHP4</h3>
</div>
<div class="form-group">
<label for="Sumar" class="col-sm-2 control-label">Sumar en PHP4 </label>
<div class="col-sm-10">
<?php
$mifecha= date('Y-m-d H:i:s');
$NuevaFecha = strtotime ( '+5 hour' , strtotime ($mifecha) ) ;
$NuevaFecha = strtotime ( '+18 minute' , $NuevaFecha ) ;
$NuevaFecha = strtotime ( '+30 second' , $NuevaFecha ) ;
$NuevaFecha = date ( 'Y-m-d H:i:s' , $NuevaFecha);
echo $NuevaFecha;
?>
</div>
</div>

<div class="form-group">
<label for="Sumar" class="col-sm-2 control-label">Restar en PHP4 </label>
<div class="col-sm-10">
<?php
$mifecha= date('Y-m-d H:i:s');
$NuevaFecha = strtotime ( '-5 hour' , strtotime ($mifecha) ) ;
$NuevaFecha = strtotime ( '-18 minute' , $NuevaFecha ) ;
$NuevaFecha = strtotime ( '-30 second' , $NuevaFecha ) ;
$NuevaFecha = date ( 'Y-m-d H:i:s' , $NuevaFecha);
echo $NuevaFecha;
?>
</div>
</div>

<div class="page-header">
<h3>Sumar y restar horas en PHP5</h3>
</div>
<div class="form-group">
<label for="Sumar" class="col-sm-2 control-label">Sumar en PHP5: </label>
<div class="col-sm-10">
<?php
$mifecha = new DateTime();
$mifecha->modify('+5 hours');
$mifecha->modify('+18 minute');
$mifecha->modify('+30 second');
5/8
echo $mifecha->format('d-m-Y H:i:s');
?>
</div>
</div>

<div class="form-group">
<label for="Sumar" class="col-sm-2 control-label">Restar en PHP5: </label>
<div class="col-sm-10">
<?php
$mifecha = new DateTime();
$mifecha->modify('-5 hours');
$mifecha->modify('-18 minute');
$mifecha->modify('-30 second');
echo $mifecha->format('d-m-Y H:i:s');
?>
</div>
</div>

</div>

<!--Fin elementos contenedor-->

</div>
</div>
</div>
<div class="panel-footer">
<div class="container">
<p>Códigos <a href="https://www.baulphp.com/" target="_blank">BaulPHP</a></p>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

6/8
Sumar y restar horas y minutos con PHP

CONCLUSIÓN
Sumar horas, minutos y segundos en el lenguaje PHP es muy necesario cuando
desarrollamos sistemas web. Se puede usar en varias ocasiones, en rango de fechas
predeterminadas para realizar consultas a la base de datos, entre otros usos.

Gracias por visitar mi blog y no se olviden de suscribirse para que estén atento a los últimos
artículos relacionados al mundo del PHP.

Descarga 156 Sistemas PHP & MySQL

7/8
Descargar 156 Sistemas PHP & MySQL Completos:
5 / 5 ( 1 voto )

Sobre el Autor
Nestor Tapia
Bloggero, amante de la programación PHP, innovador y me fascina
compartir información. Desde que conocí el entorno informatico y el
internet me llamó la atención la programación, Por tal motivo he
creado mi blog BAULPHP.COM para compartir mis experiencias con
todos ustedes. ¡Gracias por leerme!.

8/8

También podría gustarte