Foros del Web » Programando para Internet » Javascript »

Dependiendo de la hora

Estas en el tema de Dependiendo de la hora en el foro de Javascript en Foros del Web. Hola compañeros! Les cuento, estoy queriendo hacer un sistema en el cual.. Dependiendo de la hora y el día, aparece una imagen o no aparece.. ...
  #1 (permalink)  
Antiguo 14/02/2011, 12:45
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Dependiendo de la hora

Hola compañeros!

Les cuento, estoy queriendo hacer un sistema en el cual..
Dependiendo de la hora y el día, aparece una imagen o no aparece..

Yo lo que quisiera hacer es hacer aparecer una imagen los dias Lunes, Miercoles y Sabados de 8pm a 9pm

Y luego de ese horario no aparesca...

Se que es una mescla de javascript php y demas.

Pero sincermanete no me siento capacitado para hacerlo y por eso recurro a ustedes.

Desde ya MUCHISIMAS gracias!

Saludos!
  #2 (permalink)  
Antiguo 14/02/2011, 14:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: Dependiendo de la hora

usa los métodos (getHouts() y getDay()) del objeto Date() con ello obtienes la hora actual y el día de la semana
  #3 (permalink)  
Antiguo 14/02/2011, 20:11
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Me ayudas un poco mas xq soy bastante lelo en esto de javascript :s
  #4 (permalink)  
Antiguo 14/02/2011, 21:14
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

un ejemplo sencillo:
Código HTML:
<script type="text/javascript">
  var fecha = new Date();
  var dia = fecha.getDay();		// de 0 a 6 (empieza en domingo)
  var hora = fecha.getHours();		// de 0 a 23
	
	switch( dia  )
	{
		case 2:
		case 4:
		case 6:
			var diaValido = true;
			break;
	}
	switch( hora )
	{
		case 20:
		case 21:
			var horaValida = true;
			break;
	}
	if( diaValido == true && horaValida == true )
	{
		alert( "hola mundo" );
	}
</script> 
para empezar igual te sirve :)

un saludo.
  #5 (permalink)  
Antiguo 15/02/2011, 15:50
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Yo lo probe asi:

Código:
<script type="text/javascript">
  var fecha = new Date();
  var dia = fecha.getDay();		// de 0 a 6 (empieza en domingo)
  var hora = fecha.getHours();		// de 0 a 23
	
	switch( dia  )
	{
		case 3:
		case 4:
		case 6:
			var diaValido = true;
			break;
	}
	switch( hora )
	{
		case 18:
		case 19:
			var horaValida = true;
			break;
	}
	if( diaValido == true && horaValida == true )
	{
		alert( "hola mundo" );
	} else {
		alert( "chau mundo"};
			 
</script>
que seria el dia de hoy a esta hora xD y no me funciona...

(hoy es martes a las 18:50)

(no me aparece ni hola ni chau)
  #6 (permalink)  
Antiguo 15/02/2011, 16:01
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

pues igual me he equivocado y la semana empieza en lunes

Código HTML:
<script type="text/javascript">
  var fecha = new Date();
  var dia = fecha.getDay();		// de 0 a 6 (empieza en lunes)
  var hora = fecha.getHours();		// de 0 a 23
	
	switch( dia  )
	{
		case 1:
		case 2:
		case 5:
			var diaValido = true;
			break;
	}
	switch( hora )
	{
		case 18:
		case 19:
			var horaValida = true;
			break;
	}
	if( diaValido == true && horaValida == true )
	{
		alert( "hola mundo" );
	} else {
		alert( "chau mundo" )};
			 
</script> 
prueba ahora ^^ y recuerda que esa es el día y la hora locales. esto quiere decir, que mientras que para ti son las 19:00 aquí para mi son las 23:00.

edito: te faltaba un ) en el else.

un saludo.
  #7 (permalink)  
Antiguo 15/02/2011, 17:22
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 4 meses
Puntos: 1012
Respuesta: Dependiendo de la hora

Cita:
Iniciado por uikekarallo Ver Mensaje
pues igual me he equivocado y la semana empieza en lunes
no te equivocastes, la semana empieza el domingo
  #8 (permalink)  
Antiguo 15/02/2011, 17:34
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

pues no, parece que no me equivoqué. lo acabo de probar y funciona correctamente. el error está, como te puse al editar el post, en que te falta un paréntesis. gracias por confirmar IsaBelM, ya me habían entrado dudas :)

un saludo.
  #9 (permalink)  
Antiguo 15/02/2011, 23:27
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Excelente amigo!!
Me funciona perfectamnete!!!

Ahora, perdon que los moleste denuevo...
como hago en ves de una alerta, que aparesca contenido, es decir una div con una imagen?

muchas gracias!!, denuevo!
  #10 (permalink)  
Antiguo 16/02/2011, 05:05
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

lo quieres todo hecho eh... jeje

pues hay varias maneras... yo aquí te pongo un ejemplo sencillo, que como base te servirá, y a partir de ahí vete informándote.

Código HTML:
 <div style="display: none;" id="hola">hola! (y aquí una imagen)</div>
  <div style="display: none;" id="adios">adios! (y aquí otra imagen)</div>

  <script type="text/javascript">
    var fecha = new Date();
    var dia = fecha.getDay();		  // de 0 a 6 (empieza en domingo)
    var hora = fecha.getHours();	  // de 0 a 23
    
    switch( dia  )
    {
      case 3:
      case 4:
      case 6:
        var diaValido = true;
        break;
    }
    switch( hora )
    {
      case 18:
      case 19:
        var horaValida = true;
        break;
    }
    if( diaValido == true && horaValida == true )
    {
      document.getElementById('hola').style.display = 'block';
    }
    else
    {
      document.getElementById('adios').style.display = 'block';
    }
  </script> 
realmente esta no es la mejor manera de implementar javascript en un documento, pero para el caso nos sirve.

un saludo.
  #11 (permalink)  
Antiguo 16/02/2011, 09:23
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

jajajaj Excelente Funciona perfectamente!!!

Aunque no lo creas, yo aprendo de esta manera, nunca tome un curso y se muchisimo de visual basic 6.0..
html me lo se casi completo, php poco y javascript, por ahora se poner la hora y esto jajaj

Ahora tengo otro problema xD... perdon que moleste denuevo...
El tema es que este sistema funciona dependiendo de la hora de la pc, y yo quiero que dependa de la hora del servidor, que debo cambiar?

Muchas gracias denuevo..
  #12 (permalink)  
Antiguo 16/02/2011, 09:32
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

para que dependa de la hora del servidor, entonces tienes que usar programación del lado servidor. por ejemplo, puedes hacerlo con la función date() de php.

un saludo.
  #13 (permalink)  
Antiguo 16/02/2011, 09:52
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Me explicas un poco mas xD?
  #14 (permalink)  
Antiguo 16/02/2011, 10:29
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

para recoger el día y la hora con php es así:

Código PHP:
<?php
  $dia 
date('w')      // de 0 a 6 (empieza en domingo)
  
$hora date('G')    // de 0 a 23

  // aquí el switch...

  
if( diaValido == true && horaValida == true )
  {
    echo 
"hola mundo";
  }
  else
  {
    echo 
"adios mundo";
  }
?>
puedes mirar la función date() más a fondo en -este link-.

la función switch funciona igual en php que en javascript, sólo que php no modifica el dom.
en la página web de w3schools tienes toda la información que puedas necesitar a partir de aquí.


un saludo.
  #15 (permalink)  
Antiguo 16/02/2011, 11:21
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

entonces me deberia quedar asi

Código PHP:
<?php
  $dia 
date('w')      // de 0 a 6 (empieza en domingo)
  
$asd date('G')    // de 0 a 23
    
switch ($dia) {
    case 
3:
    case 
4:
    case 
6:
        var 
diaValido true;
        break;
}
 switch(
$asd)
    {
      case 
18:
      case 
19:
        var 
horaValida true;
        break;
    }

  if( 
diaValido == true && horaValida == true )
  {
    echo 
"hola mundo";
  }
  else
  {
    echo 
"adios mundo";
  }
?>
pero me tira error en la linea 3 mira:

Parse error: syntax error, unexpected T_VARIABLE in /home/badzone/public_html/fecha.php on line 3


Muchas gracias denuevo, sos re bueno xD
  #16 (permalink)  
Antiguo 16/02/2011, 11:56
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

se me olvidó poner ; al final de las variables $dia y $hora.

corrección:
Código PHP:
$dia date('w');
$asd date('G'); 
saludos y suerte ^^
  #17 (permalink)  
Antiguo 16/02/2011, 12:06
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Gracias!

Ahora tengo otro problem lpm..
.me tira error en la linea nueve
Parse error: syntax error, unexpected T_VAR in /home/badzone/public_html/fecha.php on line 9
que seria
var diaValido = true;

pense que capas habia que ponerle el $ pero probe y tampoco funciona :S
  #18 (permalink)  
Antiguo 16/02/2011, 13:32
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 9 meses
Puntos: 10
Respuesta: Dependiendo de la hora

lo correcto es:

$diaValido = true;
$horaValida = true;

en el if de la misma manera

if( $diaValido == true && $horaValida == true )
  #19 (permalink)  
Antiguo 16/02/2011, 13:58
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

claro... perdona por los errores pero estaba trabajando en un proyecto al mismo tiempo que te respondía y es fácil mezclarlo todo -.-"

en php las variables siempre llevan el símbolo $ delante. ya te han corregido el error :)

un saludo.
  #20 (permalink)  
Antiguo 16/02/2011, 14:57
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Lo tengo asi y me sige tirando error en la linea 9

Código:
<?php
  $dia = date('w');      // de 0 a 6 (empieza en domingo)
  $asd = date('G');    // de 0 a 23
    
switch ($dia) {
    case 3:
    case 4:
    case 6:
        var $diaValido = true;
        break;
}
 switch($asd)
    {
      case 18:
      case 19:
        var $horaValida = true;
        break;
    }

  if( $diaValido == true && $horaValida == true )
  {
    echo "hola mundo";
  }
  else
  {
    echo "adios mundo";
  }
?>
  #21 (permalink)  
Antiguo 16/02/2011, 15:44
Avatar de uikekarallo  
Fecha de Ingreso: diciembre-2009
Ubicación: Galicia
Mensajes: 338
Antigüedad: 14 años, 10 meses
Puntos: 16
Respuesta: Dependiendo de la hora

"var" es para declarar una variable en javascript. en php no es necesario; con poner $variable es suficiente. ese es el error ;)

saludos.
  #22 (permalink)  
Antiguo 16/02/2011, 21:47
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Dependiendo de la hora

Muchas graicas che!
Me funciono, y denuevo, muchas gracias por su constante ayuda

Etiquetas: dependiendo
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 12:56.