Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: jdc en 13 Febrero 2012, 03:29 AM

Título: Horas en php
Publicado por: jdc en 13 Febrero 2012, 03:29 AM
Hola, he estado viendo time() y date() pero no termino de entender. Me gustaria saber como puedo hacer lo siguiente:

Necesito que una variable tenga la hora y fecha actual osea por ejemplo:

$varActual = "12/02/2012 2:33:30" //dia/mes/año hora:minutos:segundos

y dar una hora especifica que seria 5 minutos despues:

$varActual = "12/02/2012 2:38:30" //dia/mes/año hora:minutos:segundos

Luego comprobar teniendo estos dos datos si ya pasaron los 5 minutos, osea si es:

$varActual = "12/02/2012 2:34:55" //dia/mes/año hora:minutos:segundos

deberia dar falso (no han pasado 5 minutos)

y si es:

$varActual = "12/02/2012 2:38:31" //dia/mes/año hora:minutos:segundos

deberia dar true (ya pasaron los 5 minutos)

Necesito que sea con la fecha para que no se joda la funcion si la hora inicial es: 23:59:00 o algo asi, a alguien se le ocurre o me podria mandar a aprender algo que me falte?

Por favor sin trolleo, si no saben solo pasen de largo ¬¬ no es una tarea ñ_ñ
Título: Re: Horas en php
Publicado por: dark_sargon en 13 Febrero 2012, 05:25 AM
Código (php) [Seleccionar]
<?php
$hourDef 23;
$minDef 24;
$secDef 0;
$dayDef 12;
$monthDef 2;
$yearDef 2012;

$tiempoActual time();
$tiempoEspecifico mktime($hourDef,$minDef,$secDef,$monthDef,$dayDef,$yearDef);

echo 'Actual: '.date('d/m/Y H:i:s').'<br/>';
echo 'Final: '.date('d/m/Y H:i:s',$tiempoEspecifico).'<br/><b>Estado:</b> ';

if($tiempoActual >= $tiempoEspecifico){
echo 'El tiempo ha finalizado.';
}else{
echo 'Aun queda tiempo.';
}
?>
Título: Re: Horas en php
Publicado por: jdc en 13 Febrero 2012, 05:48 AM
Se agradece, lo probare a ver que tal ñ_ñ
Título: Re: Horas en php
Publicado por: dark_sargon en 14 Febrero 2012, 03:33 AM
Bueno, te explico el script.
La función time() te devuelve el número de segundos que han pasado desde la época Unix (Enero 1 de 1970 a las 00:00:00 GMT).

Luego uso mktime() que recibe una fecha y de igual manera te devuelve la cantidad de segundos que hay desde la época Unix hasta esa fecha.

Ya con lo anterior tienes las dos fechas en segundos y puedes comprobar si la actual es mayor o igual a la otra.
Título: Re: Horas en php
Publicado por: jdc en 15 Febrero 2012, 08:28 AM
Perdón por la demora en responder, esta semana ha sido horrible, muchas gracias, no he tenido tiempo aún de revisarla, pero había entendido algo como lo que explicaste y es lo que necesito, tener una referencia en segundos únicos para comprobar que sólo pasen f minutos desde una hora definida y listo, te lo agradezco en serio, mañana sin falta lo pruebo! Muchas gracias!