Foros del Web » Programando para Internet » PHP »

Generar Fecha Español, Desde Consulta MYSQL + PHP

Estas en el tema de Generar Fecha Español, Desde Consulta MYSQL + PHP en el foro de PHP en Foros del Web. Generar FECHA EN ESPAÑOL, desde una consulta mysql y mostrarlo en PHP Código PHP: <?php mysql_query (  "SET lc_time_names = 'es_CL'"  );      $qb = "SELECT CONCAT_WS(' ',               CONCAT(UCASE(SUBSTRING(DAYNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(DAYNAME(a.fecha), 2))),               DATE_FORMAT(a.fecha,'%d de '),               CONCAT(UCASE(SUBSTRING(MONTHNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(MONTHNAME(a.fecha), 2))), ...
  #1 (permalink)  
Antiguo 25/04/2016, 17:02
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Información Generar Fecha Español, Desde Consulta MYSQL + PHP

Generar FECHA EN ESPAÑOL, desde una consulta mysql y mostrarlo en PHP
Código PHP:
<?php
mysql_query
"SET lc_time_names = 'es_CL'" );     
$qb="SELECT CONCAT_WS(' ',
              CONCAT(UCASE(SUBSTRING(DAYNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(DAYNAME(a.fecha), 2))),
              DATE_FORMAT(a.fecha,'%d de '),
              CONCAT(UCASE(SUBSTRING(MONTHNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(MONTHNAME(a.fecha), 2))),
              DATE_FORMAT(a.fecha,'Del %Y'),
              DATE_FORMAT(a.fecha,' Hora: %H:%i:%s ')
            ) AS fecha_ESP
FROM fecha"
;
    
mysql_select_db($dbname);
        
$b=mysql_query($qb);
            while (
$noticia=mysql_fetch_array($b))
                {
    echo 
$noticia['fecha_ESP']; //Resultado ejemplo: Viernes 22 de Abril Del 2016 Hora: 01:02:50
}
                    
?>
Espero les sirve, saludos.
  #2 (permalink)  
Antiguo 26/04/2016, 03:53
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Me parece muy bien el aporte pero, si lo resuelves con sql, lo mejor es que lo hubieses puesto en el foro de base de datos:
Código SQL:
Ver original
  1. SELECT CONCAT_WS(' ',
  2.               CONCAT(UCASE(SUBSTRING(DAYNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(DAYNAME(a.fecha), 2))),
  3.               DATE_FORMAT(a.fecha,'%d de '),
  4.               CONCAT(UCASE(SUBSTRING(MONTHNAME(a.fecha), 1, 1)),LCASE(SUBSTRING(MONTHNAME(a.fecha), 2))),
  5.               DATE_FORMAT(a.fecha,'Del %Y'),
  6.               DATE_FORMAT(a.fecha,' Hora: %H:%i:%s ')
  7.             ) AS fecha_ESP
  8. FROM fecha

Con php puedes establecer el localismo con setlocale.

Puedes encontrar más información y como usarlo aquí por ejemplo.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 26/04/2016, 04:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Los nombres de días y meses en nuestro idioma no los va a devolver MySQL. Lo tienes que resolver en programación.
Ya han preguntado eso muchas veces antes. Usa el buscador del foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 26/04/2016, 04:28
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Los nombres de días y meses en nuestro idioma no los va a devolver MySQL. Lo tienes que resolver en programación.
Ya han preguntado eso muchas veces antes. Usa el buscador del foro.
No y si, si no entiendo mal, se puede establecer el localismo también en mysql para que afecte a algunas funciones como DATE_FORMAT

O eso entiendo según esto.

Eso sí como indica por defecto el localismo es en_Us, aún que se puede cambiar al iniciar el servidor.

Es algo que no he puesto en práctica, pero me pica la curiosidad ahora.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 26/04/2016, 06:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Si, eso es factible, pero tienes que tener acceso al servidor y permisos de administrador (root), sin lo cual no puedes hacer cambios de ese calibre.
Las variables que comienzan con "@@" son variables de servidor. Manipularlas requiere cuidado y conocimiento, ya que no afectarás sólo tus consultas.

Si no vas a dedicarte a ala administrción de servidores de BBDD, no te recomiendo ese tipo de cosas.

Por otro lado, terminarás acoplando la aplicación a la base, cuando a nivel de aplicación puedes resolver el problema de modos ya existentes, mas seguros y accesibles.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 26/04/2016, 11:31
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Hasta donde yo sé, con @@session.time_zone se puede establecer solo para la sesión en curso, no necesariamente tiene que ser global, pero seguro que gnzsoloyo nos puede aclarar más sobre el tema...
  #7 (permalink)  
Antiguo 26/04/2016, 11:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Hay tres formas de manejarlo:
1) A nivel sistema, se debe configurar en el my.ini. Necesitas acceso al host de la base directamente y privilegios de lectoescritura.
2) A nivel servidor, se peude configurar manualmente o por script, pero requiere permisos de nuvel SUPER.
3) A nivel conexión. Se puede setear de la forma indicada directamente en la conexión. ¿El problema? Debe indicarse en todas y cada una de las ocasiones en que se abra una conexión. Cualquiera que se abra donde no se setee, tendrá como time_zone la del host (SYSTEM).

La verdad, es mas simple crear una clase en PHP y gestionar la representacion de las fechas con dunciones nativas de PHP, con la ventaja que la peudes re-usar donde quieras y cuando quieras.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/04/2016, 12:50
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Generar Fecha Español, Desde Consulta MYSQL + PHP

Cita:
Iniciado por gnzsoloyo Ver Mensaje
La verdad, es mas simple crear una clase en PHP y gestionar la representacion de las fechas con dunciones nativas de PHP, con la ventaja que la peudes re-usar donde quieras y cuando quieras.
Sí, estoy de acuerdo, pero yo me refería a la posibilidad de hacerlo así, aunque es cierto que es más simple y práctico hacerlo por programación.

Etiquetas: datetime, español, fecha, mysql
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 01:28.