Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] sumar días a una fecha

Estas en el tema de sumar días a una fecha en el foro de PHP en Foros del Web. hola a todos tengo una duda pero nose si sera este el foro correcto: Quiero sumar 7 días a una fecha, tengo 2 campos de ...
  #1 (permalink)  
Antiguo 28/06/2013, 12:58
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
sumar días a una fecha

hola a todos tengo una duda pero nose si sera este el foro correcto:

Quiero sumar 7 días a una fecha, tengo 2 campos de texto uno que al presionarlo, se despliega un calendario para escoger una fecha, lo que quiero es que al elegir una fecha cualquiera, en el otro campo de texto se sumen 7 días.
espero haberme explicado
Saludos a todos.
esta es la función para sumar los días
Código PHP:
Ver original
  1. function dameFecha($fecha_f,$dia)
  2. {   list($day,$mon,$year) = explode('/',$fecha_f);
  3.     return date('d/m/Y',mktime(0,0,0,$mon,$day+$dia,$year));        
  4. }
  5.  
  6. echo dameFecha(10/06/2013,7);
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #2 (permalink)  
Antiguo 28/06/2013, 13:20
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: sumar días a una fecha

Primera opcion: para hacerlo con PHP.... Ud arma un FORMULARIO y al darle "enviar" (submit), PHP toma el control, hace la suma de dias y entonces hace una redireccion con HEADER LOCATION a la pagina donde se mostraran los resultados

Segunda opcion: si calcula la nueva fecha y coloca el valor en el campo correspondiente con JavaScript, resuelve antes darle a "enviar"

La tercera posibilidad es un hibrido llamado "Ajax" que le permite enviar esa fecha al servidor el cual la procesa y se la devuelve con el incremento de 7 dias... ahi la ventaja es que resuelve la suma de fechas con su funcion en PHP pero es mas lindo que la primera opcion.
__________________
Salu2!

Última edición por Italico76; 28/06/2013 a las 13:31
  #3 (permalink)  
Antiguo 28/06/2013, 13:39
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: sumar días a una fecha

Cita:
Iniciado por tquezada Ver Mensaje
hola a todos tengo una duda pero nose si sera este el foro correcto:

Quiero sumar 7 días a una fecha, tengo 2 campos de texto uno que al presionarlo, se despliega un calendario para escoger una fecha, lo que quiero es que al elegir una fecha cualquiera, en el otro campo de texto se sumen 7 días.
espero haberme explicado
Saludos a todos.
TU RESPEUSTA: en javascript

el ejemplo en linea: http://creaelicita.cl/ayuda/foro_4459852.php

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2.  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  3.  <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
  4.  <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" type="text/css" />
  5.  <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/cupertino/jquery-ui.css" type="text/css" />
  6. </head>
  7. Fecha inicio:<br>
  8. <input type="text" id="fecha_inicio" name="fecha_inicio" placeholder="dd-mm-yyyy"  onchange="recalcular_fecha_fin()"/><br />
  9. Fecha fin:<br>
  10. <input type="text" id="fecha_fin" name="fecha_fin" placeholder="dd-mm-yyyy"  />
  11.     $(function() {
  12.         $( "#fecha_inicio" ).datepicker({
  13.             dateFormat: 'dd-mm-yy',
  14.             changeMonth : true,
  15.             changeYear : true,
  16.         });
  17.         $( "#fecha_fin" ).datepicker({
  18.             dateFormat: 'dd-mm-yy',
  19.             changeMonth : true,
  20.             changeYear : true,
  21.         });
  22.     });
  23. function recalcular_fecha_fin(){
  24. // Ponemos la fecha
  25. var sFecha =$("#fecha_inicio").val();
  26. var aFecha = sFecha.split("-");
  27. var Fecha = new Date(aFecha[2], aFecha[1], aFecha[0]);
  28. var dias = 30; //los dias que quieres aumentar
  29. Fecha.setTime(Fecha.getTime()+dias*24*60*60*1000);
  30. Fecha=Fecha.getDate()+"-"+Fecha.getMonth()+"-"+Fecha.getFullYear();
  31. $("#fecha_fin").val(Fecha);
  32. }
  33.  
  34. </body>
  35. </html>

P.D. Italico76 es mejor evitar recargar el navegador por cosas tan chicas
tquezada un saludo desde santiago
  #4 (permalink)  
Antiguo 28/06/2013, 13:43
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: sumar días a una fecha

Cita:
Iniciado por enlinea777 Ver Mensaje
P.D. Italico76 es mejor evitar recargar el navegador por cosas tan chicas
tquezada un saludo desde santiago
No sé, cargar una librería entera de JavaScript es más pesado que recargar el navegador.
  #5 (permalink)  
Antiguo 28/06/2013, 14:58
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: sumar días a una fecha

gracias a todos por responder.
el script de enlinea777 resulto a la perfección gracias por eso. pero como puedo dejar la nueva fecha con ceros, el resultado me sale así: 7/6/2013 y yo lo quiero así: 07/06/2013
saludos y gracias a los que me respondieron.
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.
  #6 (permalink)  
Antiguo 28/06/2013, 16:00
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: sumar días a una fecha

Cita:
Iniciado por pzin Ver Mensaje
No sé, cargar una librería entera de JavaScript es más pesado que recargar el navegador.
en lo personal
prefiero hacer esto que estar recargando y haciendo una recuperacion he impresion de datos cada que el usuario actualiza la fecha.
tambien es super engorroso estar esperando, que carge y recargue.
es mas facil cargar 80kb de mas y no recargar, pues es mas agradable para la navegacion, sin dejar delado que te ahorras muchas lineas de codigo.


tquezada esta es tu respuesta:

el ejemplo en linea: http://creaelicita.cl/ayuda/foro_4459852.php

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2.  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  3.  <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
  4.  <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" type="text/css" />
  5.  <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/cupertino/jquery-ui.css" type="text/css" />
  6. </head>
  7. Fecha inicio:<br>
  8. <input type="text" id="fecha_inicio" name="fecha_inicio" placeholder="dd-mm-yyyy"  onchange="recalcular_fecha_fin()"/><br />
  9. Fecha fin:<br>
  10. <input type="text" id="fecha_fin" name="fecha_fin" placeholder="dd-mm-yyyy"  />
  11.     $(function() {
  12.         $( "#fecha_inicio" ).datepicker({
  13.             dateFormat: 'dd-mm-yy',
  14.             changeMonth : true,
  15.             changeYear : true,
  16.             beforeShowDay : function(date) {
  17.             var day = date.getDate();
  18.             return [true, (day < 10 ? "zero" : "")];
  19.         }
  20.         });
  21.        $( "#fecha_fin" ).datepicker({
  22.             dateFormat: 'dd-mm-yy',
  23.            changeMonth : true,
  24.            changeYear : true,
  25.             beforeShowDay : function(date) {
  26.             var day = date.getDate();
  27.             return [true, (day < 10 ? "zero" : "")];
  28.         }
  29.        });
  30.    });
  31. function recalcular_fecha_fin(){
  32. // Ponemos la fecha
  33. var sFecha =$("#fecha_inicio").val();
  34. var aFecha = sFecha.split("-");
  35. var Fecha = new Date(aFecha[2], aFecha[1], aFecha[0]);
  36. var dias = 7; //los dias que quieres aumentar
  37. Fecha.setTime(Fecha.getTime()+dias*24*60*60*1000);
  38. var D=Fecha.getDate();
  39. var M=Fecha.getMonth();
  40. Fecha=(D<10?"0"+D:D)+"-"+(M<10?"0"+M:M)+"-"+Fecha.getFullYear();
  41. $("#fecha_fin").val(Fecha);
  42. }
  43. </body>
  44. </html>
  #7 (permalink)  
Antiguo 28/06/2013, 16:32
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: sumar días a una fecha

Cita:
Iniciado por enlinea777 Ver Mensaje
prefiero hacer esto que estar recargando y haciendo una recuperacion he impresion de datos cada que el usuario actualiza la fecha.
tambien es super engorroso estar esperando, que carge y recargue.
es mas facil cargar 80kb de mas y no recargar, pues es mas agradable para la navegacion, sin dejar delado que te ahorras muchas lineas de codigo.
Bueno, una cosa no quita la otra, que es a lo que voy; no hace falta cargar una librería entera para una operación tan simple. Puede hacerse con JavaScript a secas.
  #8 (permalink)  
Antiguo 28/06/2013, 17:28
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: sumar días a una fecha

Cita:
Iniciado por pzin Ver Mensaje
Bueno, una cosa no quita la otra, que es a lo que voy; no hace falta cargar una librería entera para una operación tan simple. Puede hacerse con JavaScript a secas.
OK

y como le haces con el datepicker con javascript a secas?
  #9 (permalink)  
Antiguo 28/06/2013, 18:03
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: sumar días a una fecha

El datepicker ya viene incorporado en HTML5, ni idea que porcentaje de navegadores actualmente lo soportan pero esta muy bueno

Es como trivial ya el tema ese..... o lo sera pronto :)
__________________
Salu2!

Última edición por Italico76; 28/06/2013 a las 22:02
  #10 (permalink)  
Antiguo 01/07/2013, 10:16
Avatar de tquezada  
Fecha de Ingreso: febrero-2013
Ubicación: Santiago
Mensajes: 196
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: sumar días a una fecha

Gracias a todos los que respondieron en especial a
enlinea777
Vale compadre por la ayuda me salvaste y de paso me enseñaste saludos desde Santiago.
__________________
¿Sabes cuántos programadores hacen falta para cambiar una bombilla? - no, no ¿Cuántos? - Ninguno... es un problema de hardware.

Etiquetas: dias, 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 16:51.