Foros del Web » Programando para Internet » PHP »

Formato de fecha a EJEMPLO:Agosto 17 de 2007

Estas en el tema de Formato de fecha a EJEMPLO:Agosto 17 de 2007 en el foro de PHP en Foros del Web. Mi inquietud es la siguiente en mi base de datos tengo una tabla donde registro las noticias y en ella un campo DATE Y-m-d y ...
  #1 (permalink)  
Antiguo 17/08/2007, 13:20
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Formato de fecha a EJEMPLO:Agosto 17 de 2007

Mi inquietud es la siguiente en mi base de datos tengo una tabla donde registro las noticias y en ella un campo DATE Y-m-d y en mi index quisiera extraer esa fecha pero dandole otro formato como este Ejemplo:

*Agosto 17 de 2007

mis preguntas:

1. Tengo que darle el formato cuando vaya a realizar el insert en la BD? teniendo en cuenta el tipo de campo que estoy utilizando en la tabla si es posible darle este formato que yo quiero* o tengo que cambiar el tipo de dato en mi tabla y a cual?

2. Cuando haga la extraccion en mi consulta en el index puede darle el formato* a mi resultado de consulta Ejemplo: echo formato que deseo("$noticia1[fecha]" ) y si es asi como seria esto?

Les agradesco su colaboración de antemano , espero haberme hecho entender y muchas gracias.

Saludos.
  #2 (permalink)  
Antiguo 17/08/2007, 13:30
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Hola Carlojas!!!

Pues mira, guardarlo como DATE es lo correcto y està bien.

El formato que dices, lo haces mediante programaciòn haciendole un '$fecha=explode("-",fecha_de_tu_db)'.

Entonces, le haces un switch a $fecha[1], asì:

Código PHP:
switch($fecha[1])
{
case 
1:$mes="Enero";
break;
case 
2:$mes="Febrero";
break;
.
.
.

Y la utilizas asì:
Código PHP:
echo $mes." ".$fecha[2]." de ".$fecha[0]; 
Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 17/08/2007, 13:35
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Puedes hacerlo de las 2 maneras, tanto meterle en la base de datos con la fecha ya puesta, o que al recuperarla se "traduzca" al formato que quieras.

Te pongo el código que pone la fecha actual en letras:
Código PHP:
<? function fecha() {
/* Línea a implementar si el servidor web no está en Europa y quieres que la
fecha y hora sean europeas
*/

/* Script en PHP para mostrar la fecha del servidor web en tus páginas */

/* Definición de los meses del año en castellano */

$mes[0]="-";
$mes[1]="enero";
$mes[2]="febrero";
$mes[3]="marzo";
$mes[4]="abril";
$mes[5]="mayo";
$mes[6]="junio";
$mes[7]="julio";
$mes[8]="agosto";
$mes[9]="septiembre";
$mes[10]="octubre";
$mes[11]="noviembre";
$mes[12]="diciembre";

/* Definición de los días de la semana */

$dia[0]="Domingo";
$dia[1]="Lunes";
$dia[2]="Martes";
$dia[3]="Miércoles";
$dia[4]="Jueves";
$dia[5]="Viernes";
$dia[6]="Sábado";

/* Implementación de las variables que calculan la fecha */

$gisett=(int)date("w");
$mesnum=(int)date("m");

/* Variable que calcula la hora */

$hora date(" H:i",time());

/* Presentación de los resultados en una forma similar a la siguiente:
Miércoles, 23 de junio de 2004 | 17:20
*/

echo $dia[$gisett].", ".date("d")." de ".$mes[$mesnum]." de ".date("Y")." | ".$hora;
}
?>
En el caso de que quieras que sea al reves, para recuperar la fecha de la base y ponerla en letras, tendrias que cambiar cambiar los valores, por el que tenga en la base.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #4 (permalink)  
Antiguo 17/08/2007, 13:35
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Saludos Carxl gracias por tu aporte pero quedo con la duda $fecha = explode("-" fecha que tengo en la BD o que voy a insertar ) en para hacer el insert o cuando vaya a visualizarla

Disculpa mi ignorancia.
  #5 (permalink)  
Antiguo 17/08/2007, 13:40
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Es para cuando vayas a visualizarla..., osea que la tienes que consultar en tu DB para poder hacer esto.

Para insertar una fecha, es parecido pero no es el caso o sì? Dime si tambièn necesitas el de inserciòn y te lo explico...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 17/08/2007, 13:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Te lo agradeceria Carxl pues asi seria no mas hacer la consulta y saldria con el formato ya puesto.

Saludos.
  #7 (permalink)  
Antiguo 17/08/2007, 13:44
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

No se si esque mi post no se ve o que.................
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #8 (permalink)  
Antiguo 17/08/2007, 13:55
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Tu post si se ve, lo que pasa es que me parecio un poco mas facil de entender lo de Carxl pero igual tu aporte vale ahora te pregunto si quisiera insertar una fecha con tu funcion en mi base de datos como lo haria?
mi campo es un DATE

Saludos.
  #9 (permalink)  
Antiguo 17/08/2007, 13:59
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Si lo que quieres es que desde un formulario se mande la fecha en texto a la base, en el Value le pones <?php echo fecha(); ?> y listo. asi se manda la fecha actual en formato texto.

Si el campo en la base es Date tienes que ponerla en numerico a la fuerza, pero si es VarChar puedes meterla en texto si quieres.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #10 (permalink)  
Antiguo 17/08/2007, 14:04
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Ok, para eso tenemos dos opciones Carlojas...

1. Si te ingresan mediante un formulario, con los tìpicos select's dia-mes-año...
2. Insertar la fecha del sistema automàticamente, osea la fecha actual.

Para la primera opciòn haces:
Código PHP:
//recibes los post
$dia=$_POST['dia_del_select'];
$mes=$_POST['mes_del_select'];
$ano=$_POST['ano_del_select'];
//validas que sean datos váildos para una fecha con checkdate()
$val=checkdate($mes,$dia,$ano);
if(
$val)
{
//si la fecha es vàlida
//concatenas lo que tienes
$fecha=$ano;
$fecha.="-";
$fecha.=$mes;
$fecha.="-";
$fecha.=$dia;
//$fecha tendrìa este formato 2007-8-17
}
else
{
echo 
"Fecha no vàlida!!!";

De esta manera $fecha ya quedarìa apta para utilizarla en tu campo DATE de tu DB. Asumo que sabes hacer un insert...

Para la segunda opciòn, la de la fecha actual, es mas breve, en el momento que estas haciendo tu insert en mysql.... utiliza para el campo DATE, la funciòn "now()" de mysql. Y con eso ingresas la fecha actual.

Saludos, espero te sirva
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #11 (permalink)  
Antiguo 17/08/2007, 14:06
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Cita:
Iniciado por bookmaster Ver Mensaje
No se si esque mi post no se ve o que.................
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #12 (permalink)  
Antiguo 17/08/2007, 14:11
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

NO desde un formulario sino como una variable cualquiera en el insert ejemplo

$_POST['publicacion'] = date(y-m-d);

Seria mi ejemplo y en el insert pues se pone '$_POST[publicacion]' ahora me dices que seria solo poner la funcion tuya? o seria fecha($_POST[publicacion]) y para insertarla en la BD como seria ?

Disculpa mi ignorancia.

Saludos.
  #13 (permalink)  
Antiguo 17/08/2007, 14:14
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

Carxl muchas gracias por tu aporte estan muy buenos.

Saludos.
  #14 (permalink)  
Antiguo 17/08/2007, 14:16
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

No de nada hombre... pa' eso estamos

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #15 (permalink)  
Antiguo 17/08/2007, 14:17
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

hola, escribo rapido, no tengo tiepo de leer el post completo, pero si lo que quieres es tener la fecha en formato amigable (Agosto 17 de 2007) y ademas quieres tener por alguna razon el campo fecha (DATE), creas otro campo e ingresas en el la fecha en formato amigable, aqui te dejo una funcion que lo hace y es chiquita:
Código PHP:
<?php
function fecha(){
    
setlocale(LC_TIME'esp');
    
$hoy strftime('%A, %d de %B de %Y');
    return 
$hoy;
    }
echo 
fecha();
?>
http://rogertm-blog.blogspot.com/200...en-espaol.html

un saludo y disculpa, pero de verdad que no tengo tiempo ahora pa leer todo, ojala y soluciones con lo que te doy
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #16 (permalink)  
Antiguo 17/08/2007, 14:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
De acuerdo Re: Formato de fecha a EJEMPLO:Agosto 17 de 2007

rogertm gracias por tu aporte.

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