Foros del Web » Programando para Internet » PHP »

Hora y minutos colocar imagen

Estas en el tema de Hora y minutos colocar imagen en el foro de PHP en Foros del Web. Haber si alguien me puede decirme como puedo hacer para mostrar una imagen según la hora y minutos. lo que quiero es algo así, que ...
  #1 (permalink)  
Antiguo 07/09/2014, 04:05
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Hora y minutos colocar imagen

Haber si alguien me puede decirme como puedo hacer para mostrar una imagen según la hora y minutos. lo que quiero es algo así, que si la hora es mayor 7:10 se ponga una imagen.

$hora = date("H:i");
$horan = $hora >= 7:10 && $hora <= 20:20;
$horan = $hora >= 20:21 && $hora <= 7:09;
  #2 (permalink)  
Antiguo 07/09/2014, 06:40
 
Fecha de Ingreso: octubre-2006
Mensajes: 267
Antigüedad: 17 años, 6 meses
Puntos: 6
Respuesta: Hora y minutos colocar imagen

Podría ser algo así:

$hora = date('H')*60 + date('i');

if ($hora >= 7*60 + 10 ) {
//colocar imagen
}

A ver si te sirve.
  #3 (permalink)  
Antiguo 07/09/2014, 10:32
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

Gracias por responder, pero no me sirve, ya que lo que quiero es que la hora 7:10 se pueda poner y salga la imagen.
$horan = $hora >= 7:10 && $hora <= 20:20;
  #4 (permalink)  
Antiguo 07/09/2014, 16:11
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

Para poder comparar tiempos, necesitas convertirlos al formato UNIX. La función mktime es útil para ello.

Código PHP:
Ver original
  1. $hora = mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y'));
  2. $a = mktime(7, 9, 0, date('m'), date('d'), date('Y')); //7:09
  3. $b = mktime(7, 10, 0, date('m'), date('d'), date('Y')); //7:10
  4. $c = mktime(20, 20, 0, date('m'), date('d'), date('Y')); //20:20
  5. $d = mktime(20, 21, 0, date('m'), date('d'), date('Y')); //20:21

Ya teniendo las marcas de tiempo, puedes compararlas. Si deseas que las horas sean variables, es decir, en lugar de 7:09 sea cualquier otra hora, puedes reemplazar a esos valores fijos por variables.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 09/09/2014, 03:16
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

Perdona por no haber respondido antes, pero no entiendo bien lo que me dices, ya que lo que quiero es que en ese poner en el intervalo de horas $horan = $hora >= 7:10 && $hora <= 20:20; no me salga el error
  #6 (permalink)  
Antiguo 09/09/2014, 07:04
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Hora y minutos colocar imagen

Lo mas facil sin utilizar mktime es que separes las horas y los minutos, mediante un explode.

Piensa que para utilizar comparadores como mayor que > y menor que < debes hacerlo sobre numeroa y no sobre cadenas de texto, 8:30 por ejemplo, es una cadena.

Si divides esa cadena en 2 mediamte explode, tienes 2 numeros, el 8 y el 30. Y ahora si podras hacer las comparaciones correspondientes.

If ($hora>= 7 and $min>=30){}

No se si me explico.
  #7 (permalink)  
Antiguo 09/09/2014, 09:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

Cita:
Iniciado por PIN2 Ver Mensaje
Perdona por no haber respondido antes, pero no entiendo bien lo que me dices, ya que lo que quiero es que en ese poner en el intervalo de horas $horan = $hora >= 7:10 && $hora <= 20:20; no me salga el error
Lo que te dije es que esa manera de comparar valores es incorrecta. '7:10' es una cadena de texto, no un valor numérico, de manera que comparar ―por ejemplo― el 7 con '7:10', siempre resultará en un error. De la manera en que te indico, convertirás los valores en marcas de tiempo y así podrás realizar la comparación correctamente.

Cita:
Iniciado por xerifandtomas Ver Mensaje
Lo mas facil sin utilizar mktime es que separes las horas y los minutos, mediante un explode...
En realidad, de esa forma el proceso sería un poquito más largo y se llegaría al mismo resultado. Si existen funciones para trabajar con marcas de tiempo, ¿por qué no utilizarlas?

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 09/09/2014, 16:11
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

Es no puedo hacerlo, por que la hora la coge de un programa que me sale de esa forma 7:10, entonces tendré que pensar otra cosa.
  #9 (permalink)  
Antiguo 09/09/2014, 16:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

¿Y qué te hace pensar que no puedes? ¿Qué tipo de dato es el que llega? ¿Un array? ¿Un objeto? ¿Una cadena? ¿Una marca de tiempo?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 10/09/2014, 00:45
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

Creo yo que no puedo por que tendría que ser como esto, a no ser que este equivocado.


$hora = date("H:i");
$hor = ("7:10"); la hora la cogué del programa
$ho = ("20:20"); esta tambien la cogué del programa
$horan = $hor >= 7:10 && $ho <= 20:20; aquí saldría la imagen A
$horan1 = $hora >= 20:21 && $hora <= 7:09;aquí saldría la imagen B

Última edición por PIN2; 10/09/2014 a las 01:05
  #11 (permalink)  
Antiguo 10/09/2014, 03:26
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Hora y minutos colocar imagen

Usa mktime como te dicen y sí que te soluciona el problema.
Código PHP:
Ver original
  1. $hora = date("H:i");
  2. $hor = mktime ( parámetros );
  3. $ho = mktime ( parámetros );
  4. $horComparada = mktime ( [sólo 7:10] );
  5. $hoComparada = mktime ( [sólo 20:20] );
  6.  
  7. $horan = $hor >= $horComparada;
  8. $horan1 = $ho <= $hoComparada;

Fácil y para toda la familia.
Si lees lo que te dicen seguro q lo resolverás
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #12 (permalink)  
Antiguo 10/09/2014, 09:43
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

CHuLoSoY, hay un pequeño problema con tu solución, pues al no respetar el formato establecido para los argumentos en el manual oficial, se genera este aviso:

Cita:
A non well formed numeric value encountered
Creo que sería mejor si usara una función a la cual solo tendría que pasarle la hora:

Código PHP:
Ver original
  1. function convertir($hora){
  2.     $aux = explode(':', $hora);
  3.     return mktime($aux[0], $aux[1], 0, date('m'), date('d'), date('Y'));
  4. }
  5.  
  6. $actual = convertir(date('H:i'));
  7. $a = convertir('7:09');
  8. $b = convertir('7:10');
  9. $c = convertir('20:20');
  10. $d = convertir('20:21');

En donde cada dato de tiempo (la hora), puede llegar en una variable o ser asignado directamente, eso no importa.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 10/09/2014, 16:40
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

Perdonar pero soy algo nuevo en esto y no comprendo muy bien, si pongo esto

function convertir($hora){
$aux = explode(':', $hora);
return mktime($aux[0], $aux[1], 0, date('m'), date('d'), date('Y'));
}

$actual = convertir(date('H:i'));
$a = convertir('7:09');
$b = convertir('7:10');
$c = convertir('20:20');
$d = convertir('20:21');

Como se hace para que salga la imagen entre las 7:10 a las 20:20
  #14 (permalink)  
Antiguo 10/09/2014, 21:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

En las variables $actual, $a, $b, $c y $d, tienes a los valores, ahora, solo te queda realizar las condiciones en las cuales los compararás. Eso ya no es programación sino lógica.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #15 (permalink)  
Antiguo 11/09/2014, 00:05
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Hora y minutos colocar imagen

¿Y como se compora las condiciones?
  #16 (permalink)  
Antiguo 11/09/2014, 12:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Hora y minutos colocar imagen

Amigo, lo que necesitas es esto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: minutos
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 02:23.