Foros del Web » Programando para Internet » PHP »

problema para sumar fechas

Estas en el tema de problema para sumar fechas en el foro de PHP en Foros del Web. Amigos buenas tardes tengo un problema al sumar fecha... estoy haciendo un programa de facturación web y tengo como fecha de emisión de factura la ...
  #1 (permalink)  
Antiguo 14/12/2012, 13:34
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 6 meses
Puntos: 0
problema para sumar fechas

Amigos buenas tardes tengo un problema al sumar fecha... estoy haciendo un programa de facturación web
y tengo como fecha de emisión de factura la actual y en la base de datos dependiendo del cliente tiene un N° de días de crédito,
el problema q tengo es q al momento de escoger un cliente con 10 días de crédito me da la fecha de vencimiento correcta q siendo la fecha de emisión hoy 14/12/2012 la fe vencimiento es el 24/12/2012 pero mi problema empieza cuando los numeros de días de crédito son mas por ejemplo 20 días siendo la fecha de hoy me da 34 q puedo hacer??
  #2 (permalink)  
Antiguo 14/12/2012, 13:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema para sumar fechas

¿Cómo haces la suma?
Si estás usando MySQL tienes funciones específicas para ello:
http://dev.mysql.com/doc/refman/5.0/...functions.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/12/2012, 13:51
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema para sumar fechas

uso mssql server

Código PHP:
 <?php
                    
            $Fecha
date($FechaActual $DIAS );
            
$Fechadate("$Fecha/m/Y"); 
            if (
$Fecha  >= 30) {
            
$Fecha1date("d/m/Y"strtotime("$Fecha1 + 1 month - 1 day"));
            
$Fecha=$Fecha1;
            }
            
?>
  #4 (permalink)  
Antiguo 14/12/2012, 13:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema para sumar fechas

Lee el Manual de Referencia: DateTime Add
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 14/12/2012, 13:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema para sumar fechas

¿Qué tienes en $DIAS? ¿Qué exactamente pretendes hacer con las primeras dos líneas? No tienen mucho sentido.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 14/12/2012, 14:00
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema para sumar fechas

$DIAS son los dias de credito de cada cliente que esta almacenado en la base de datos

la primera linea
$Fecha= date($FechaActual + $DIAS );
lo que hace es que si la fecha es 14/12/2012 y $DIAS= 8
me da como resultado 22 solamenta no se porq
es por es que uso la segunda linea para q me de 22/12/2012
pero el problema es cuando de 31 o otra fecha ya del mes de enero
  #7 (permalink)  
Antiguo 14/12/2012, 14:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema para sumar fechas

¿Miraste el link que te pasé?
Con esa función debes manipular la fecha para agregar días.

Cita:
DateTime::add — Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 14/12/2012, 14:09
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema para sumar fechas

si ya lo revise pero no me funciona el Datetime no lo toma no se porq
  #9 (permalink)  
Antiguo 14/12/2012, 14:18
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: problema para sumar fechas

A ver empecemos por el principio, así no se suman fechas, tienes que usar la función strtotime (por ejemplo hay muchas más).

Código PHP:
Ver original
  1. $Fecha= date($FechaActual + $DIAS ); //MAL

La forma de sumar 8 días a la fecha actual sería:

Código PHP:
Ver original
  1. echo date('d-m-Y', strtotime("now + 8 days")); //22-12-2012

Muestra tu código cuando lo arregles, saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 14/12/2012, 14:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema para sumar fechas

¿Y qué tal si poseas el código, para ver qué estás haciendo mal?
¿No sería mejor que decir "pero no me funciona el Datetime no lo toma no se porq"?
SI no vemos lo que haces, no podemos adivinar...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 14/12/2012, 14:26
 
Fecha de Ingreso: octubre-2012
Mensajes: 63
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema para sumar fechas

ya solucione una parte ahora si me da bien y la fecha correcta pero estoy colocando lo mismo en otra parte y me da como resultado 01/01/1970

Código PHP:
<?php
            
for ($i 0$i mssql_num_rows($rs_tabla); $i++) {
                
$CLIENTE=mssql_result($rs_tabla,$i,"Id");
                
$NOMBRE=mssql_result($rs_tabla,$i,"TxtApellidos");
                
$DIRECCION=mssql_result($rs_tabla,$i,"TxtDireccionHabitacion");
                
$RIF=mssql_result($rs_tabla,$i,"TxtCedula");
                
$DIAS=mssql_result($rs_tabla,$i,"N_Dias");
                 if (
$i 2) { $fondolinea="itemParTabla"; } else { $fondolinea="itemImparTabla"; }?>
                        <tr class="<?php echo $fondolinea?>">
                    <td>
        <div align="center"><?php echo $CLIENTE;?></div></td>
                     <?php
                    
            $Fecha
date($FechaActual $DIAS );
            
$Fechadate("$Fecha/m/Y"); 
            if (
$Fecha >= 30) {
            
$Fecha1date("d/m/Y"strtotime("$Fecha1  --$DIAS days"));
            
$Fecha=$Fecha1;
            }
            
?>
                    <td>
        <div align="center"><?php echo utf8_encode($NOMBRE);?></div></td>
                    <td><div align="center"><?php echo $RIF;?></div></td>
                    <td align="center"><div align="center"><a href="javascript: pon_prefijo ('<?php echo $DIRECCION?>','<?php echo $NOMBRE?>','<?php echo $RIF?>','<?php echo $DIAS?>','<?php echo $Fecha?>')"><img src="img/convertir.png" border="0" title="Seleccionar"></a></div></td>
  #12 (permalink)  
Antiguo 14/12/2012, 14:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: problema para sumar fechas

Repito, así no se suman las fechas, date sirve para dar formato no para sumar fechas:

$Fecha= date($FechaActual + $DIAS ); MAL
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
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 23:15.