Comunidad de diseño web y desarrollo en internet online

Fecha date() a palabras

Citar            
MensajeEscrito el 15 Jun 2006 09:09 pm
Holas. Quiero transformar una fecha almacenada en la BDD a números y palabras.

He encontrado un código pero no me funciona para la manera en la que obtengo mis datos.

Mi fecha se almacena de la siguiente manera: 2006-06-15

para ver esa fecha y la de otros eventos en mi página web yo pongo en el html: <? echo $lista[$i]->fechaFin?>

Para sacar independientemente cada número he intentado poner: <? echo date('d',$lista[$i]->fechaIni)?>
Pero no funciona, me saca siempre el número 31, osea el total de los días de un mes. Pero para el ejemplo yo quisiera que me saque el 15.

Mi pregunta:

Cómo puedo obtener de mis datos solamente el número del día, el més en palabra y el año?

Osea.... transformar el 2006-06-15 a 15 de Junio de 2006

Gracias x su ayuda.

Por //@|¬)(?®

62 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jun 2006 09:34 pm

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 15 Jun 2006 09:35 pm
definitivamente estás haciendo algo mal con la función date... te recomiendo le eches un ojo

luego, para poner el mes puedes seguir utilizando date(), pero te lo pondría en inglés, así que debes de crear un array con los nombres de los meses y en base al número de mes que tienes, mostrará el elemento del array

suerte

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 15 Jun 2006 10:24 pm
He puesto esta función para transformar la fecha actual,

Código :

function FechaEs ($sintax,$date = '') {
    // En caso de qe no este seteada la fecha pongo la fecha actual
    $date = ($date) ? $date : time();
    // Pongo los meses y dias en un array
    $meses = array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
    $dias = array('Domingo','Lunes','Martes','Miercoles','Jueves','Viernes','Sabado');
    
    // Remplazando sintaxis [En el array $meses resto uno ya que como saben los array cuentan desde 0]
    $fechaes = str_replace('&diatexto',$dias[date('w',$date)],$sintax);
    $fechaes = str_replace('&dianum',date('d',$date),$fechaes);
    $fechaes = str_replace('&mestexto',$meses[date('m',$date)-1],$fechaes);
    $fechaes = str_replace('&mesnum',date('m',$date),$fechaes);
    $fechaes = str_replace('&año',date('Y',$date),$fechaes);

    // Si existe $fechaes la muestro si no muestro la comemierderia que puse abajo xD
    return ($fechaes) ? $fechaes : '<b>Sintax Error</b>: sintax error in <b>'.__FILE__.'</b> in function <b>FechaEs(int sintax,int time)</b>';
}

// - &diatexto : Devuelve el dia en texto [Lunes,Martes]
// - &dianum : Devuelve el dia en numero [01,24]
// - &mestexto : Devuelve el mes en texto [Febrero,Diciembre]
// - &mesnum : Devuelve el mes en numero [4,12]
// - &año : Devuelve el año [1989,2003]

// Ejemplo: [Si no defines la fecha pondra la fecha actual]
echo FechaEs('&diatexto, &dianum de &mestexto del &año'); 


He tratado de poner en la segunda linea:

Código :

 $date = $lista[$i]->fechaFin;
pero ahí me sale una fecha al azar.

Cómo puedo pasarle mi fecha la cual cambia dependiendo del barrido de for para [i]? Yo obtengo mi fecha almacenada con $lista[$i]->fechaFin

Por //@|¬)(?®

62 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2006 01:27 am

Código :

<?php
   setlocale(LC_TIME, "esp");
   echo strftime("%A, %d de %B de %Y");
?>


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 16 Jun 2006 08:06 pm
Cómo puedo obtener de mis datos solamente el número del día, el més en palabra y el año?
Osea.... transformar el 2006-06-15 a 15 de Junio de 2006

Esta función te resolverá exactamente lo que quieres:

Código :

function dater($x) {
   $year = substr($x, 0, 4);
   $mon = substr($x, 5, 2);
   switch($mon) {
      case "01":
         $month = "Enero";
         break;
      case "02":
         $month = "Febrero";
         break;
      case "03":
         $month = "Marzo";
         break;
      case "04":
         $month = "Abril";
         break;
      case "05":
         $month = "Mayo";
         break;
      case "06":
         $month = "Junio";
         break;
      case "07":
         $month = "Julio";
         break;
      case "08":
         $month = "Agosto";
         break;
      case "09":
         $month = "Septiembre";
         break;
      case "10":
         $month = "Octubre";
         break;
      case "11":
         $month = "Noviembre";
         break;
      case "12":
         $month = "Diciembre";
         break;
   }
   $day = substr($x, 8, 2);
   return $day." de ".$month." de ".$year;
}

Saludos :wink:

Por EdilbertoO

23 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 17 Jun 2006 04:17 am
ehhh no habia leido de que era de MySQL, pero igual es válido strftime, ejemplo:

Código :

<?php
setlocale(LC_TIME, "esp");
   echo strftime("%d de %B de %Y",strtotime("2006-06-15"));
?>


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 08 Abr 2013 03:39 am

EdilbertoO escribió:

Cómo puedo obtener de mis datos solamente el número del día, el més en palabra y el año?
Osea.... transformar el 2006-06-15 a 15 de Junio de 2006

Esta función te resolverá exactamente lo que quieres:

Código :

function dater($x) {
   $year = substr($x, 0, 4);
   $mon = substr($x, 5, 2);
   switch($mon) {
      case "01":
         $month = "Enero";
         break;
      case "02":
         $month = "Febrero";
         break;
      case "03":
         $month = "Marzo";
         break;
      case "04":
         $month = "Abril";
         break;
      case "05":
         $month = "Mayo";
         break;
      case "06":
         $month = "Junio";
         break;
      case "07":
         $month = "Julio";
         break;
      case "08":
         $month = "Agosto";
         break;
      case "09":
         $month = "Septiembre";
         break;
      case "10":
         $month = "Octubre";
         break;
      case "11":
         $month = "Noviembre";
         break;
      case "12":
         $month = "Diciembre";
         break;
   }
   $day = substr($x, 8, 2);
   return $day." de ".$month." de ".$year;
}

Saludos :wink:


Hola amigo. Tu función me funcionó de maravilla.

Solo recuerden que deben llamarla así:

$fecha = '2013-04-07';
echo dater($fecha);

Por carlosan_1

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Abr 2013 06:09 am

carlosan_1 escribió:


Hola amigo. Tu función me funcionó de maravilla.


Te sugiero que pruebes la solución de Maikel, es menos código y parece ser más optimo.

Por NeftaliYagua

18 de clabLevel



Genero:Masculino  

Activista, Desarrollador, Empresario

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.