Foros del Web » Programando para Internet » PHP »

Sustituir en una cadena esto ( / ) por esto ( , )

Estas en el tema de Sustituir en una cadena esto ( / ) por esto ( , ) en el foro de PHP en Foros del Web. Hola a todos, quieria saber como hago lo siguiente: Todas las variables de fechas en mis paginas, dan como resultado fechas en este formato: mm/dd/aaaa ...
  #1 (permalink)  
Antiguo 11/02/2007, 08:32
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 18 años, 8 meses
Puntos: 4
Sustituir en una cadena esto ( / ) por esto ( , )

Hola a todos, quieria saber como hago lo siguiente:

Todas las variables de fechas en mis paginas, dan como resultado fechas en este formato: mm/dd/aaaa, para una operacion especifica lo que quisiera hacer es cambiar ese formato por este mm,dd,aaaa.

Por ejm.
Código PHP:
<?
$fecha 
"05/04/1982";
echo 
$fecha;

// Esto imprime
05/04/1982

// Y quiero que imprima
05,04,1982
?>
Lo que quiero es sustituir (/) por (,) uen una sola variable, pero LO MAS SENCILLAMENTE POSIBLE

Muchas gracias de anteano y salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
  #2 (permalink)  
Antiguo 11/02/2007, 09:03
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Re: Sustituir en una cadena esto ( / ) por esto ( , )

Saludos, eso lo haces con str_replace.

Código PHP:
$fecha "05/04/1982"
$seprado_comas=str_replace("/"","$fecha); 
Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 12/02/2007, 07:44
 
Fecha de Ingreso: diciembre-2005
Mensajes: 19
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Sustituir en una cadena esto ( / ) por esto ( , )

Buenas....

Te doy otra opcion...
Supongamos que recibis la variable fecha de completar un formulario...en ese caso....vas a recibir la variable y a transformarla en una nueva variable formateada..

Ejemplo

// recibes la variable
$fecha = $_POST["fecha"];

// la formateas
// ------------------------------------------
// si recibis la variable con algun valor...
if ($_POST["fecha"]!=""){

// entonces la tomas y la convertis en una nueva variable
$txt_fecha = $_POST["fecha"];
// obtenes los datos que se encuentan dentro de la variable y los
// transformas en 3 nuevos objetos habiendo usado como separador de esos objetos
// a "/"
list($dia, $mes, $ano) = explode('/',$txt_fecha);
// creas una nueva variable en la cual los listas en el orden que desees
// asi
$a_ver = array("$ano-$mes-$dia");
// o asi ($a_ver = array("$mes-$ano-$dia");

//los asocias en una nueva variable en la cual utilizas el separador que quieras utilizar
$comma_separated = implode(",", $a_ver);
}
// puede ser cualquiera (, o / o \ o ?)
Ahora todo junto como quedaria sin comentarios
// ------------------------------------------

$fecha = $_POST["fecha"];

if ($_POST["fecha"]!=""){
$txt_fecha = $_POST["fecha"];
list($dia, $mes, $ano) = explode('/',$txt_fecha);
$a_ver = array("$ano-$mes-$dia");
$comma_separated = implode(",", $a_ver);
}

// -----------------------------------------

Espero que sirva de algo, como veras asi podrias formatear fechas u otro tipo de datos incluso algunos que tomes de una DB o via URL siempre usando 'variable = $_GET["el_dato"];
  #4 (permalink)  
Antiguo 12/02/2007, 11:39
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Sustituir en una cadena esto ( / ) por esto ( , )

Como comentario a_bradock, lo que pusiste no funcionaria por esta linea:
$a_ver = array("$ano-$mes-$dia");
$ano-$ms-$dia seria un solo elemento del arreglo, no 3 como quieres..

Ademas, no es necesario el list()

$txt_fecha = $_POST["fecha"];
$a = explode('/',$txt_fecha);
$comma_separated = implode(",", $a);

Igual es mas rapida la solucion del str_replace
__________________
Sin Ideas
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 18:18.