Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Cambiar formado de fecha

Estas en el tema de Cambiar formado de fecha en el foro de PHP en Foros del Web. Amigos necesito su ayuda de nuevo con un detalle, Necesito cambiar el formato de como se muestra una fecha que obtengo de mi bd La ...
  #1 (permalink)  
Antiguo 30/05/2016, 16:05
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Cambiar formado de fecha

Amigos necesito su ayuda de nuevo con un detalle,
Necesito cambiar el formato de como se muestra una fecha que obtengo de mi bd
La fecha en mi bd esta de esta forma
Año/Mes/Dia
2016/05/30

y si obtengo la fecha me muestra tal como está

Lo que quiero es que me muestre la fecha de esta forma
Día/Mes/Año
30/05/2016

Trate con esto pero no me dio ningun resultado


Código PHP:
Ver original
  1. $f_ini = $result4[1];
  2.     $cambiar =  explode("-",$f_ini);
  3.     $f_muestra = $cambiar[0]."/".$cambiar[1]."/".$cambiar[2];

alguna sugerencia, se los agradecería
  #2 (permalink)  
Antiguo 30/05/2016, 16:09
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Cambiar formado de fecha

Código PHP:
Ver original
  1. $fecha = "2016/05/30";
  2.  
  3. $nueva = date("d/m/Y", strtotime($fecha));
  4.  
  5. echo $nueva;
  6.  
  7. //regresa 30/05/2016

Saludos
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 30/05/2016, 16:09
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Respuesta: Cambiar formado de fecha

Solucionado, no se por que pero capaz se guardo en cache lo otro borre y ya dio normal, entonces el codigo que puse sirve para lo que quería
  #4 (permalink)  
Antiguo 30/05/2016, 16:12
Avatar de manuparquegiralda  
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 241
Antigüedad: 11 años, 10 meses
Puntos: 39
Respuesta: Cambiar formado de fecha

Utiliza la clase que PHP pone a nuestra disposición.

Código PHP:
Ver original
  1. $ObjFecha = new DateTime($result4[1]);
  2. $fecha = $ObjFecha->format("j/n/Y");

Aquí tienes varios manuales que te pueden servir:

http://php.net/manual/es/class.datetime.php
http://php.net/manual/es/function.date.php

Te paso una clase que he hecho yo para que te ayuda a ordenar fechas de varias formas, sumar o restar dias, meses o años a una fecha o calcular la edad, además te la da en tres idiomas, español, catalán o inglés, puedes modificarla a tu gusto o añadir más idiomas, en fin, creo que te puede servir:


Código PHP:
Ver original
  1. class Fechas {
  2.     /* ARRAYS POR IDIOMAS */
  3.     private static $en = array("Monday","Mon","Tuesday","Tue","Wednesday","Wed","Thursday","Thu","Friday","Fri","Saturday","Sat","Sunday","Sun","January","Jan","February","Feb","March","Mar","April","Apr","May","May","June","Jun","July","Jul","August","Aug","September","Sep","October","Oct","November","Nov","December","Dec");
  4.     private static $es = array("Lunes","Lun","Martes","Mar","Miércoles","Mie","Jueves","Jue","Viernes","Vie","Sábado","Sab","Domingo","Dom","Enero","Ene","Febrero","Feb","Marzo","Mar","Abril","Abr","Mayo","May","Junio","Jun","Julio","Jul","Agosto","Ago","Septiembre","Sep","Octubre","Oct","Noviembre","Nov","Diciembre","Dic");
  5.     private static $ca = array("Dilluns","dl","Dimarts","dm","Dimecres","dc","Dijous","dj","Divendres","dv","Dissabte","ds","Diumenge","dm","Gener","Gen","Febrer","Feb","Març","Mar","Abril","Abr","Maig","Mai","Juny","Jun","Juliol","Jul","Agost","Ago","Setembre","Set","Octubre","Oct","Novembre","Nov","Desembre","Des");
  6.    
  7.     /* ORDENAR FECHAS */
  8.     public function ordenar_fechas($fecha, $tipoFecha, $ponerDia, $ponerHora, $idioma){
  9.         /* ($tipoFecha) TIPO DE FECHA QUE QUEREMOS DEVOLVER (larga, corta, numerica) */
  10.         /* ($ponerDia) SI QUEREMOS PONER EL DÍA DE LA SEMANA (si, no) */
  11.         /* ($ponerHora) SI QUEREMOS PONER O NO LA HORA (si, no) */
  12.         /* ($idioma) EL IDIOMA QUE QUEREMOS EN EL QUE ESTÉ LA FECHA (es, ca, en) */
  13.        
  14.         $fecha = new \DateTime($fecha);
  15.        
  16.         /* TIPO DE LA FECHA */
  17.         if($tipoFecha == "larga"){
  18.             $tipo = 'j F Y';
  19.         }else if($tipoFecha == "corta"){
  20.             $tipo = 'j M Y';
  21.         }else if($tipoFecha == "numerica"){
  22.             $tipo = 'j/n/Y';
  23.         }
  24.        
  25.         /* PONER DÍA DE LA SEMANA */
  26.         if(($ponerDia == "si")&&($tipoFecha != "numerica")){
  27.             if($tipoFecha == "larga"){
  28.                 $dia = 'l ';
  29.             }else if($tipoFecha == "corta"){
  30.                 $dia = 'D ';
  31.             }
  32.         }
  33.        
  34.         /* PONER HORA */
  35.         if($ponerHora == "si"){
  36.             $hora = ' \&\e\n\s\p\; G:i';
  37.         }
  38.        
  39.         /* FECHA FORMATEADA */
  40.         $fecha = $fecha->format($dia.''.$tipo.''.$hora);
  41.        
  42.         /* TRADUCIMOS FECHAS */
  43.         $result = Self::traducir_fecha($fecha,$idioma);
  44.        
  45.         /* DEVOLVEMOS EL RESULTADO */  
  46.         return $result;
  47.     }
  48.    
  49.     /* MODIFICAR FECHAS */
  50.     public function calculo_fechas($fecha, $operacion, $cantidad, $tramo){
  51.         /* ($operacion) ES LA OPERACIÓN QUE VAMOS A EJECUTAR, SUMAR (+) O RESTAR (-) */
  52.         /* ($cantidad)  ES LA CANTIDAD QUE QUEREMOS SUMAR O RESTAR */
  53.         /* ($tramo) ES LO QUE VAMOS A SUMAR O RESTAR (ano, mes, dia, hora, minuto, segundo) */
  54.        
  55.         $objFecha = new DateTime($fecha);
  56.        
  57.         if($tramo == "ano"){
  58.             $str = "P".$cantidad."Y";
  59.         }
  60.         if($tramo == "mes"){
  61.             $str = "P".$cantidad."M";
  62.         }
  63.         if($tramo == "dia"){
  64.             $str = "P".$cantidad."D";
  65.         }
  66.         if($tramo == "hora"){
  67.             $str = "PT".$cantidad."H";
  68.         }
  69.         if($tramo == "minuto"){
  70.             $str = "PT".$cantidad."M";
  71.         }
  72.         if($tramo == "segundo"){
  73.             $str = "PT".$cantidad."S";
  74.         }
  75.        
  76.         if($operacion == "+"){
  77.             $objFecha->add(new DateInterval($str));
  78.         }else if($operacion == "-"){
  79.             $objFecha->sub(new DateInterval($str));
  80.         }
  81.        
  82.         $sf = explode(" ",$fecha);
  83.         if(!$sf[1]){
  84.             $result = $objFecha->format("Y-m-d");
  85.         }else{
  86.             $result = $objFecha->format("Y-m-d H:i:s");
  87.         }
  88.        
  89.         return $result;
  90.     }
  91.    
  92.     /* CALCULAR EDAD */
  93.     public function calculo_edad($nacimiento){
  94.         $fecha = new DateTime(date("Y-m-d"));
  95.         $nacimiento = new \DateTime($nacimiento);
  96.         $nacimiento = new \DateTime($nacimiento->format("Y-m-d"));
  97.        
  98.         if($nacimiento <= $fecha){
  99.             $edad = $fecha->diff($nacimiento);
  100.         }else{
  101.             $edad = false;
  102.         }
  103.        
  104.         return $edad->format('%y');
  105.     }
  106.    
  107.     /* TRADUCIR FECHA */
  108.     private function traducir_fecha($fecha,$idioma){
  109.         if((!$idioma)or($idioma == "es")){
  110.             $result = str_replace(Self::$en,Self::$es,$fecha);
  111.         }else if($idioma == "ca"){
  112.             $result = str_replace(Self::$en,Self::$ca,$fecha);
  113.         }else if($idioma == "en"){
  114.             $result = $fecha;
  115.         }
  116.        
  117.         return $result;
  118.     }
  119. }
__________________
Diseño Web - Arisman Web

Última edición por manuparquegiralda; 30/05/2016 a las 16:18
  #5 (permalink)  
Antiguo 30/05/2016, 16:19
 
Fecha de Ingreso: abril-2016
Mensajes: 65
Antigüedad: 8 años
Puntos: 4
Respuesta: Cambiar formado de fecha

Muy buen aporte muchas gracias amigp

Etiquetas: fecha
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 11:36.