Foros del Web » Programando para Internet » PHP »

Modificar una fecha

Estas en el tema de Modificar una fecha en el foro de PHP en Foros del Web. tengo una fecha haci que la saco de una bd 2003-05-10 15:08:37 pero el problema es que la quiero mostrar haci a las 03:08pm del ...
  #1 (permalink)  
Antiguo 25/05/2003, 10:56
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 21 años, 8 meses
Puntos: 0
Modificar una fecha

tengo una fecha haci que la saco de una bd
2003-05-10 15:08:37

pero el problema es que la quiero mostrar haci

a las 03:08pm del 10 de mayo

lo se hacer con un con la funcion swhit pero
habria una forma de hacermo mas sencillo

salu2
  #2 (permalink)  
Antiguo 25/05/2003, 18:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Revisastes las FAQ's de este foro?

Ahí tienes un ejemplo que te podrá dar una idea para hacer lo que buscas ...

http://www.forosdelweb.com/showthrea...800#post362800

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/05/2003, 21:25
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 21 años, 8 meses
Puntos: 0
ya lo habia visto esos temas en el foro pero no era lo que queria

al final lo hice de la unica forma que conosco jejejeje

el formato que me entrega la fecha es
este

2003-05-10 15:08:37

y para que me muestre la fecha haci

03:08pm del 10 de mayo

que la tengo en una variable $date

y hice este codigo
para que me la mostrara

Código PHP:
$datetemp explode(' ',$date);
$fechatemp explode('-',$datetemp[0]);
$horatemp explode(':',$datetemp[1]);

//sacamos el mes
    
switch ($fechatemp[1]){
                              case 
01:
                              
$mes "Ene";
                              break;
                              case 
02:
                              
$mes "Feb";
                              break;
                              case 
03:
                              
$mes "Mar";
                              break;
                              case 
04:
                              
$mes "Abr";
                              break;
                              case 
05:
                              
$mes "May";
                              break;
                              case 
06:
                              
$mes "Jun";
                              break;
                              case 
07:
                              
$mes "Jul";
                              break;
                              case 
08:
                              
$mes "Ago";
                              break;
                              case 
09:
                              
$mes "Sep";
                              break;
                              case 
10:
                              
$mes "Oct";
                              break;
                              case 
11:
                              
$mes "Nov";
                              break;
                              case 
12:
                              
$mes "Dic";
                              break;
                       }
//ahora procesamos la hora
    
switch ($horatemp[0]){
                              case 
13:
                              
$hora "1";
                              break;
                              case 
14:
                              
$hora "2";
                              break;
                              case 
15:
                              
$hora "3";
                              break;
                              case 
16:
                              
$hora1 "4";
                              break
                              case 
17:
                              
$hora "5";
                              break;
                              case 
18:
                              
$hora "6";
                              break;
                              case 
19:
                              
$hora "7";
                              break;
                              case 
20:
                              
$hora "8";
                              break;
                              case 
21:
                              
$hora "9";
                              break;
                              case 
22:
                              
$hora "10";
                              break;
                              case 
23:
                              
$hora "11";
                              break;
                              case 
24:
                              
$hora "12";
                              break;
                              default:
                              
$hora $horatemp[0];
                              break;
                       }

echo 
"a las $hora:$horatemp[1]";
if (
$fechatemp[0] < 13){
        
$echo ="am ";
        }
    else{
        
$echo  ="pm ";
        }
echo 
"del $datetemp[2] de $mes"

me funciona perfecto pero igual es un poco grande el codigo por eso queria saber si habia una funcion que la hiciera por mi jejeje pero no encontre nada pareci en el manual

Salu2
Pd: lo posteo en el faq ???
  #4 (permalink)  
Antiguo 26/05/2003, 21:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Buffff .. ese monton de CASE? ...

Usa arrays!! ...

Código PHP:
$meses=array(1=>"Ene","Feb",etc ...);
$hora_ampm=array(13=>1,14=>2,etc ...); 
Y usas tus $fechatemp[1] como indice del array .. ejemplo:

Código PHP:
$mes_temporal=$fechatemp[1];
$mes=$meses[$mes_temporal]; 
Y lo mismo con la otra del horario (que tal vez .. usando mktime() y date() directo .. obtienes la hora de esa fecha en formato AM/PM).

------

Lo de ponerlo o no en las FAQ's .. eres libre de hacerlo si lo estimas oportuno .. pero te digo ya que si usases Arrays (y tal vez lo que te comento de mktime() y date() ) sería un buen ejemplo de programación con un ejemplo práctico.

Como veras ... un problema puede tener várias soluciones ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 26/05/2003 a las 21:45
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 21:58.