Foros del Web » Programando para Internet » PHP »

Función muestra fecha en cadena y sumar "x" días a la fecha

Estas en el tema de Función muestra fecha en cadena y sumar "x" días a la fecha en el foro de PHP en Foros del Web. Hola, tengo una tabla con un campo date que almacena una fecha ejemplo --> 2010-10-03 y deseo que me devuelva la siguiente cadena en mi ...
  #1 (permalink)  
Antiguo 29/09/2010, 08:41
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
De acuerdo Función muestra fecha en cadena y sumar "x" días a la fecha

Hola, tengo una tabla con un campo date que almacena una fecha ejemplo --> 2010-10-03 y deseo que me devuelva la siguiente cadena en mi web "Dom, 03 de Oct 2010 - Mar, 12 de Oct 2010" que hace lo siguiente descompone la fecha pra mostrarlo en cadena "Dom, 03 de Oct 2010" pero tambien a su costado a la fecha le ha aumentado 10 días y muestra otra fecha "Mar, 12 de Oct 2010" lo primero si lo puedo hacer con la función que muestro abajo, pero no se me ocurre como decirle que a la fecha le sume 10, 12 o 15 días para mostrar la cadena completa.

Alguna sugerencia, les agradeceré mucho. Muchas gracias
Código PHP:
$des_tour="Ruta 5.10";
$SQLconsulta_padre="SELECT * FROM tabla_salidas WHERE des_tour ='$des_tour' AND DATE(date_fecha)>=CURDATE();";
$consulta_padre mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
$registro_padre=mysql_fetch_assoc($consulta_padre);
$fecha=$registro_padre['date_fecha'];

function 
convierte_fecha($fecha_ingles){
    
$ano=substr($fecha_ingles04);
    
$mes=substr($fecha_ingles52);
    
$dia=substr($fecha_ingles82);
    
    if (
$mes=="01"$mes="Enero";
    elseif (
$mes=="02"$mes="Feb";
    elseif (
$mes=="03"$mes="Mar";
    elseif (
$mes=="04"$mes="Abr";
    elseif (
$mes=="05"$mes="May";
    elseif (
$mes=="06"$mes="Jun";
    elseif (
$mes=="07"$mes="Jul";
    elseif (
$mes=="08"$mes="Ago";
    elseif (
$mes=="09"$mes="Sep";
    elseif (
$mes=="10"$mes="Oct";
    elseif (
$mes=="11"$mes="Nov";
    elseif (
$mes=="12"$mes="Dic";
    else 
$mes="--";
    
$fecha_castellano $dia." de ".$mes." de ".$ano;
    echo 
"$fecha_castellano";

  #2 (permalink)  
Antiguo 29/09/2010, 08:58
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 2 meses
Puntos: 87
Respuesta: Función muestra fecha en cadena y sumar "x" días a la fecha

para sumarle 10 dias puedes hacer esto, y de ahi ya usas tu función, para mostrar como tu quieres.

Código PHP:
Ver original
  1. $fecha_nueva = date('Y-m-d', strtotime('+10 days '.$fecha_ingles));

Saludos
  #3 (permalink)  
Antiguo 29/09/2010, 09:24
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Función muestra fecha en cadena y sumar "x" días a la fecha

Gracias Quike lo probare, y te avizo como me fue
  #4 (permalink)  
Antiguo 29/09/2010, 09:44
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Función muestra fecha en cadena y sumar "x" días a la fecha

Si me salio bien pero tengo una consulta, cuando yo llamo a la funcion en una parte especifica de la página web lo hago así: "<?php convierte_fecha($fecha,$fecha_nueva);?>".

Pero ahora quiero llamarlo en medio de un bucle que me llena un combo he intentado guardar en una variable el llamado y mostrar el valor supuesto de la variable en la lista pero no me sale este es mi bucle
Código PHP:
While($registro_padre=mysql_fetch_assoc($consulta_padre)){
    
$fecha=$registro_padre['date_fecha'];
  
$fecha_nueva date('Y-m-d'strtotime('+9 days '.$fecha));
    
$fecha_cadena convierte_fecha($fecha,$fecha_nueva);

  if (
$id_padre == $registro_padre['id_salidas']){
   echo 
"<option style='color: #FF0000' value=\"".$registro_padre['id_salidas']."\" selected>".$fecha_cadena."</option>\n";
  } else {
   echo 
"<option style='color: #FF0000' value=\"".$registro_padre['id_salidas']."\">".$fecha_cadena."</option>\n";
  } 

Última edición por salvador86; 29/09/2010 a las 10:24
  #5 (permalink)  
Antiguo 29/09/2010, 10:35
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 2 meses
Puntos: 87
Respuesta: Función muestra fecha en cadena y sumar "x" días a la fecha

bueno, supongo que cambiaste tu función para que te imprima la cadena que querías con las 2 fechas, aunque creo que seria mejor que la mantengas como estabas y la llames 2 veces, así también te podría servir esa función para otros casos.

modifica en tu función en vez de imprimir el resultado, has que te lo devuelva. Cambia el:

Código PHP:
Ver original
  1. echo "$fecha_castellano";

por

Código PHP:
Ver original
  1. return $fecha_castellano;

después de eso, no veo otro error, prueba con ese cambio, y comentas como te fue.
  #6 (permalink)  
Antiguo 29/09/2010, 10:47
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Función muestra fecha en cadena y sumar "x" días a la fecha

Excelente Quike, me resulto ok aqui puedes ver el ejemplo http://www.peru-expeditions.com/Peru...5-10-form2.php

Gracias por tu ayuda, me ahorraste bastante código

Etiquetas: funciones, mysql
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:21.