Foros del Web » Programando para Internet » PHP »

problemas con fecha

Estas en el tema de problemas con fecha en el foro de PHP en Foros del Web. hola tengo una web hecha y subida a un servidor que no esta en españa y yo quiero que me de la hora de el ...
  #1 (permalink)  
Antiguo 13/11/2011, 06:59
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 6 meses
Puntos: 10
problemas con fecha

hola
tengo una web hecha y subida a un servidor que no esta en españa y yo quiero que me de la hora de el pais donde se registren mis usuarios es decir si son de españa que salga la hora de aquí y asi con todos los sitios, pero tengo nose como hacerlo, y otro problema que tengo es que para guardar la hora estoy usando esto:
$fecha = date("j/m/Y, g:i a");
pero no me guarda nada en la base de datos y tampoco se por que es. necesito que me hecheis una mano. gracias
  #2 (permalink)  
Antiguo 13/11/2011, 11:40
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con fecha

toma te paso una forma de sacar la hora por pais y a partir de ay deberas hacer ifs de verificaciones para saber de donde viene

Código PHP:
Ver original
  1. $date_default_timezone_set = date_default_timezone_set('Europe/Madrid');
  2. $date = date('d-n-o');
  3. $time = date('H:i:s',strtotime('+0hours'));
  #3 (permalink)  
Antiguo 13/11/2011, 11:43
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con fecha

parecido a esto

Código PHP:
Ver original
  1. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
  2.  
  3. if($lang == 'es'){
  4.  
  5.     $date_default_timezone_set = date_default_timezone_set('Europe/Madrid');
  6.     $date = date('d-n-o');
  7.     $time = date('H:i:s',strtotime('+0hours'));
  8.  
  9. }elseif($lang == 'en'){
  10.  
  11.     $date_default_timezone_set = date_default_timezone_set('Europe/londres');
  12.     $date = date('d-n-o');
  13.     $time = date('H:i:s',strtotime('+1hours'));
  14.  
  15.  
  16. } vas haciendo de esta manera cambiando por pais la ciudad y las horas de +/-
  #4 (permalink)  
Antiguo 13/11/2011, 14:17
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: problemas con fecha

$lang de donde sacas esa variable tenia que añadir alguna cosa mas al codigo o simplemente poniendo esto valdría?? gracias.
  #5 (permalink)  
Antiguo 13/11/2011, 23:59
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con fecha

$lang ya le doy valor si te fijas $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);

entonces lo haces asi sin tocar nada ya funcionaria

Código PHP:
Ver original
  1. /*muestra idioma del usuario es,en,etc...*/
  2. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
  3.  
  4. /*cada pais que desees añadir su if es,en,it,de,etc.......*/
  5. if($lang == 'es'){
  6.  
  7. /*zona horaria modificar segun el pais*/
  8. date_default_timezone_set('Europe/Madrid');
  9.  
  10. /*fecha tipo 11/11/2011*/
  11. $date = date('d/n/o');
  12.  
  13. /*hora local aqui añadir el horario gmt de cada pais +1 hora + 2 etc... segun el pais*/
  14. $time = date('H:i',strtotime('+0hours'));
  15.  
  16. /*fecha completa modificar segun el lenguaje*/
  17. $current_date='fecha'.$date.'  Hora'.$time.'.';
  18.  
  19. }elseif($lang == 'en'){
  20.  
  21. date_default_timezone_set('Europe/Londres');
  22. $date = date('d/n/o');
  23. $time = date('H:i',strtotime('+0hours'));
  24. $current_date='Date'.$date.'  Time'.$time.'.';
  25.  
  26.  
  27. }else{/*si ingresa un usuario de algun pais que no hayas insertado le muestres el que tu desees en este caso españa ,*/
  28.  
  29. date_default_timezone_set('Europe/Madrid');
  30. $date = date('d/n/o');
  31. $time = date('H:i',strtotime('+0hours'));
  32. $current_date='fecha'.$date.'  Hora'.$time.'.';
  33.  
  34. }
  35.  
  36. /*mostrar fecha y hora en cualquier lugar*/
  37.  
  38. /*fecha 25/10/2011*/
  39. echo $date;
  40.  
  41. /*hora 22:58*/
  42. echo $time;
  43.  
  44. /*fecha completa Fecha 25/10/2011 Hora 22:58*/
  45. echo $current_date;?>
  46.  
  47. o fuera de php
  48.  
  49. /*fecha 25/10/2011*/
  50. <?php echo $date; ?>
  51.  
  52. /*hora 22:58*/
  53. <?php echo $time; ?>
  54.  
  55. /*fecha completa Fecha 25/10/2011 Hora 22:58*/
  56. <?php echo $current_date; ?>
  #6 (permalink)  
Antiguo 14/11/2011, 05:10
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: problemas con fecha

pero esto que es lo que saca $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
??? es que nose que es lo que sacas con esa linea.
  #7 (permalink)  
Antiguo 14/11/2011, 05:51
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: problemas con fecha

otra duda es que quisiera que salga todo en la misma vriable y se guarde en un campo datetime como hago esto?
  #8 (permalink)  
Antiguo 14/11/2011, 12:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con fecha

Haber $lang es es valor del idioma de tu navegador es decir si tienes el navegador en idioma español aparece en lang 'es' si tu navegador tienes puesto el idioma ingles paraecera 'en' lo entiendes??

si no pruebalo y veras lo que te aparece asi segun esta, todo se guarda en la variable $current_date (fecha y hora) es cuestion de leer un poco xq en el post anterior te lo explico paso a paso , pero si no leemos pues....
  #9 (permalink)  
Antiguo 15/11/2011, 04:00
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: problemas con fecha

vale muchas gracias

Etiquetas: fecha, usuarios
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 10:03.