PHP - horas

   
Vista:
Imágen de perfil de Tomás

horas

Publicado por Tomás (81 intervenciones) el 21/12/2013 23:20:36
Hola, muy buenas.

Tengo un problema con las horas...

tengo esto:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$Hora1 = Time(); // Hora actual   
echo date('H:i:s',$Hora1)."<br><br>";
 
$Hora = Time() + (60 *60 * 24);
echo date('H:i:s',$Hora);
 
if($Hora1 == $Hora){
	echo "es un dia";
}
else{
	echo "<br><br>hola";
}
 
?>


Y quiero que si la hora concuerda.... se muestre el if... y si no pues el else.

(Lo que hago es una suma de horas).

Siempre se me muestra el else.

Saludos.
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

horas

Publicado por Alexis Ochoa (92 intervenciones) el 22/12/2013 03:53:39
Exactamente que quieres hacer?

Siempre entre en el else porque $Hora y $Hora1 son distintas.
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
Imágen de perfil de xve

horas

Publicado por xve (5512 intervenciones) el 22/12/2013 10:53:00
Hola Tomás, nunca te van a coincidir... no es lo mismo la fecha de hoy que la fecha de mañana.

Ademas, $hora equivale a la fecha en formato timestamp...

Prueba así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$Hora1 = Time(); // Hora actual   
$Hora1 = date('H:i:s',$Hora1);
 
$Hora = Time() + (60 *60 * 24);
$Hora = date('H:i:s',$Hora);
 
if($Hora1 == $Hora){
    echo "es un dia";
}
else{
    echo "hola";
}
?>
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
Imágen de perfil de Tomás

horas

Publicado por Tomás (81 intervenciones) el 23/12/2013 21:33:05
Excelente, sirve cómo deseaba pero lo que deseo ahora es que...

Tengo una fecha predeterminada por ejemplo: 10:23:30

Y ahora saco la hora actual... por ejemplo es: 09:20:40

Y quiero que cuando la hora actual (09:20:40) llegue a 10:23:30

Se me ejecute el if u else.

Saludos.
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
Imágen de perfil de xve

horas

Publicado por xve (5512 intervenciones) el 23/12/2013 22:46:40
Hola Tomás, para ello, tendrás que ejecutar el script php de alguna manera... ya sea desde con en Linux o desde tareas programas en Windows.

El script, no puede estar por tiempo infinito ejecutándose en el navegador.

No me queda muy claro... si nos puedes comentar con mas detalle.
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
Imágen de perfil de Tomás

horas

Publicado por Tomás (81 intervenciones) el 24/12/2013 00:34:07
Haber cómo lo puedo explicar...

Yo quiero poner una hora por defecto asín:

1
2
3
4
5
6
7
8
9
$defecto = "10:10:20";
$actual = date("H:i:s");
 
if($actual == $defecto){
echo "hola";
}
else{
echo "adios";
}

Saludos.
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
Imágen de perfil de xve

horas

Publicado por xve (5512 intervenciones) el 24/12/2013 08:17:39
Hola Tomás, pero este código que nos muestras si te funcionaria, no?

Que problema tienes?
Lo que pasa que para que se cumpla la condición, tendras que llamar a la página acertando la hora exacta, incluso los segundos.
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

horas

Publicado por Elier (92 intervenciones) el 24/12/2013 16:58:50
Aunque PHP es un lenguage interpretado, y mayormente se usa para el desarrollo web nada impide que puedas usarlo para desarrollar otro tipo de aplicaciones como de consola o desktop (con interfaz grafica) utilizando:

WXWIDGETS http://wxphp.org/

En este caso no se ejecutará desde el navegador, si no como un proceso. Entonces puedes usar el evento timer para que cada una cantidad de segundos se llame a una funcion que será la que verifique si es la hora.

1
2
3
4
5
6
7
8
9
10
<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
    echo "$n seconds elapsed\n";
    $e->delTimer();
}, $n);
$e->addTimer($n);
$base->loop();
?>


En caso de que quieras que cuando el usuario acceda a la web la aplicacion ejecute una funcion cada cierto tiempo entonces lo puedes hacer mediante código Javascritp en el navegador del cliente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<head>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer()
{
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
function myStopFunction()
{
clearInterval(myVar);
}
</script>
</head>
<body>
<p id="demo"></p>
<button onclick="myStopFunction()">Stop time</button>
</body>
</html>
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