Foros del Web » Programando para Internet » ASP Clásico »

Mes + 1 = 13

Estas en el tema de Mes + 1 = 13 en el foro de ASP Clásico en Foros del Web. Que Tal, Alguien ha estado en este problema alguna vez??? , lo que pasa es que estoy haciendo un flujo de caja para un cliente ...
  #1 (permalink)  
Antiguo 14/02/2005, 21:06
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
Mes + 1 = 13

Que Tal,

Alguien ha estado en este problema alguna vez??? , lo que pasa es que estoy haciendo un flujo de caja para un cliente y mi problema es que estoy pegado con los valores de los meses por ejemplo si le digo a una fecha...

Month(date())

me queda el mes al que tengo que sumarle una cantidad de meses por ejemplo si estoy en Noviembre = 11 y necesito sumar 2 meses me da obviamente 13 entonces y esto ya no es un mes valido...


alguien sabe como hacerlo para que siempre haga el retorno es decir me vuelva de nuevo a 1 (Enero).????


Slds.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #2 (permalink)  
Antiguo 14/02/2005, 21:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues asi a ojo de buen cubero y de repente, hazte una funcion que despues de 12 te regrese 1 y listo...

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 14/02/2005, 21:18
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
If mes = 13 Then
Mes = 1
ElseIF mes = 14 Then
Mes = 2
ElseIF mes = 15 Then
Mes = 3... y asi sucesivamente
End If

Si ya lo hize, lo que pasa y ahora lo recuerdo es que tambien tengo que amarrarlo con el año, pues un valor que solo tiene que mostrarmelo en Febrero 2005, tambien me lo esta mostrando en Febrero 2006...
Podra entonces haber un camino mas corto??... pues se me hace muy largo de esta manera.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #4 (permalink)  
Antiguo 14/02/2005, 21:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Asi?

If mes > 12 Then
mes = 1
End If

Y lo vas incrementando a tu antojo...pero lo interesante aqui es el entorno en lo que lo estas usando, por eso te decia que creo que lo ideal es una funcion que maneje meses y con eso te quitas del problema...
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 14/02/2005 a las 21:26
  #5 (permalink)  
Antiguo 14/02/2005, 21:50
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
y si lo que haces es sumas un mes a la fecha y ya? no me acuerdo bien como es pero es mas simple que todo esto
  #6 (permalink)  
Antiguo 14/02/2005, 21:51
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
Es un flujo de caja, y te coloco un ejemplo..
hay un Item que hay que pagarlo la primera cuota en Diciembre 2004 y la ultima en mayo 2005 todos los meses, con vencimiento los dias 30, son 6 cuotas en total y debe aparecer el item desde diciembre a mayo 2005 y ahi cortarse.

entonces yo digo, OK. mi principio no es problema mes=12 y mi termino deberia ser
(12 + 6) - 1 = 17

eso si lo llevo a mi tabla es Mayo, ya se me habia ocurrido la forma, pero al pasar nuevamente de año me lo vuelve a colocar es decir me lo coloca en el 2005 y en el 2006 tambien...

<%
if mes = 13 then
anio2 = anio2 + 1
mes = 1
end if
if mes = 1 and tope > 12 then
tope = tope - 12
end if
%>

Esto si me ha dado dolores de cabeza por eso pense que alguien lo podria haber tenido resuelto, o existiera una forma mas barata...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #7 (permalink)  
Antiguo 14/02/2005, 21:56
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
Como sumarle un Mes a la fecha???... te refieres ir sumando de 30 en 30... no todos los meses tienen 30 y eso te desfigura, por ejemplo si yo tengo un vencimiento el 30/01/05 y le sumo 30 (para que me de la proxima cuota), me dara la proxima en marzo y no en febrero. y con eso ya estas frito.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #8 (permalink)  
Antiguo 14/02/2005, 22:16
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
No, si se puede sumar x meses tb, y automáticamente se suman los 28, 30 ó 31 días depnediendo el mes.. pero cómo es la forma de pagos? es por mes? o x dias? xq tu estás diciendo q después de 30 días vence, entonces no es x mes, sino x días. si es x días igual no hay problemas.

suma x meses
Sumar 30 días <%=dateadd("d",30,date())%>
Sumar 1 mes <%=dateadd("m",1,date())%>

al final los dos suman 30 días.
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #9 (permalink)  
Antiguo 14/02/2005, 22:43
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
bueno es que la respuesta a tu pregunta de como son los pagos, es la misma; es por mes y por dias, lo que pasa es que es mas sano sumar por mes, en todo caso al parecer me haz dado la solucion con el codigo que colocas lo voy a probar porque no lo habia probado así.

Slds.
Una sola pregunta de que te sirven esa "d" y la "m" (obviamente es de "dias" y de "mes"), pero son necesarias.???
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #10 (permalink)  
Antiguo 14/02/2005, 22:48
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
definitivamente es la solucion a mis problemas, gracias Mamon diste en el clavo, lo acabo de probar y funciona.

Slds.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #11 (permalink)  
Antiguo 14/02/2005, 22:51
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 5 meses
Puntos: 3
Dias<%=dateadd("d",1,date())%>
semana<%=dateadd("ww",1,date())%>
mes<%=dateadd("m",1,date())%>
año<%=dateadd("yyyy",1,date())%>
minutos<%=dateadd("n",1,time())%>
hora<%=dateadd("h",1,time())%>
segundos<%=dateadd("s",10,time())%>

los números son para decir la cantidad de dias, meses, segundos, etc que quieras agregar.. puedes utilizar, date(), time(), now(), etc y se suma normal.. o puedes utilizar números negativos para restar.

SUERTE!
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #12 (permalink)  
Antiguo 14/02/2005, 23:00
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 7 meses
Puntos: 0
excelente mamon Gracias, es super util el codigo este.

por cierto si sumas ... <%=dateadd("d",30,date())%> siendo 30 de enero por ejemplo, te dara 01/03/05... y eso ya no sirve, es mejor por mes es mas seguro.

Slds.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
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 22:18.