Foros del Web » Programando para Internet » Javascript »

Cantidad dias dos fechas tomando el mes de 30

Estas en el tema de Cantidad dias dos fechas tomando el mes de 30 en el foro de Javascript en Foros del Web. hola amigos, hace dias no les pregunto algo, necesito calcular la cantidad de dias que hay entre dos fechas pero hay que tener en cuenta ...
  #1 (permalink)  
Antiguo 23/10/2010, 16:34
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Busqueda Cantidad dias dos fechas tomando el mes de 30

hola amigos, hace dias no les pregunto algo, necesito calcular la cantidad de dias que hay entre dos fechas pero hay que tener en cuenta que el mes debe ser de 30 dias porque contablemente el mes tiene 30, quiero hacerlo en javascript hay alguna forma de hacerlo, estuve buscando en el foro pero no encontre eso, les agradezco pongo algo de codigo que he hecho

Código Javascript:
Ver original
  1. function Iniciar(dato)
  2. {
  3.     var fecha_ini = dato.fecing.value.split("-");
  4.     var fecha_fin = dato.fecret.value.split("-");
  5.  
  6. var fecha1 = new Date(fecha_ini[0],fecha_ini[1],fecha_ini[2]);
  7. var fecha2 = new Date(fecha_fin[0],fecha_fin[1],fecha_fin[2]);
  8.  
  9. var diasDif = fecha2.getTime() - fecha1.getTime();
  10.  
  11. //Esta primera parte me muestra la cantidad de dias pero me las toma los meses con los dias normales yo necesito que haga cuenta que es de 30 dias cada mes es decir 360 dias al ano y ese me muestra los 365 dias
  12.  
  13. var dias = Math.round(diasDif/(1000 * 60 * 60 * 24));
  14. /*-------------------------*/
  15.  
  16. }

les agradezco parcero que me ayuden.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #2 (permalink)  
Antiguo 23/10/2010, 17:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Cantidad dias dos fechas tomando el mes de 30

no comprendi lo que quieres decir con los 30 dias. tampoco comprendi el comentario de la linea #11. el calculo de la linea #13 te devuelve la cantidad de dias transcurrida. si provees mas detalles especifico acerca de los comentarios quizas te pueda ayudar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 23/10/2010, 17:25
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 16 años, 3 meses
Puntos: 15
Respuesta: Cantidad dias dos fechas tomando el mes de 30

mira, lo que pasa es que contablemente se cuenta como mes 30 dias, entonces yo necesito saber cuantos dias ha trasncurrido entre dos fechas teniendo encuenta que cada mes debe ser de 30 dias, y lo del comentario si, si me muestra los dias transcurridos por ejemplo si tengo 2010-01-01 y la fecha 2010-12-31 con el ejemplo que puse me van a salir 365 dias, y yo necesito es que cada mes me lo tenga encuenta como si fuese de 30 dias osea en este caso en este ejemplo necesitaria que me retornara 360 dias que tendria el ano contable.

Muchas gracias espero haberme dado a ententer de todas formas estaper pendiente por si tiene alguna duda.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #4 (permalink)  
Antiguo 23/10/2010, 18:27
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Cantidad dias dos fechas tomando el mes de 30

bien, ya entiendo la idea, pero a mi modo de ver no se me ocurre alguna implementacion sencilla. el objeto Date siempre te va a tomar los dias tal como son en el calendario gregoriano.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 23/10/2010 a las 18:36
  #5 (permalink)  
Antiguo 23/10/2010, 18:55
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cantidad dias dos fechas tomando el mes de 30

A ver qué tal así:
Edit:No funciona xD
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Última edición por _cronos2; 23/10/2010 a las 19:16
  #6 (permalink)  
Antiguo 23/10/2010, 19:31
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Cantidad dias dos fechas tomando el mes de 30

lo mismo te iba a decir, cronos.

yo lo que no entiendo es por que no divide la cantidad de fecha total entre 30, de modo que te dira la cantidad de meses. el resto de los dias ya seran del proximo mes. por ejemplo, 365 dias serian 12 meses y 5 dias, o lo mismo que un año y 5 dias. determinar si un mes tiene 31 dias me parece muy rebuscado porque entonces tendrias que iterar por los meses desde la fecha inicio hasta la fecha final para anularle un dia. y ya con eso, a mi parecer tendrias que implementar muchas cosas para engañar el sistema de fecha.

me gustaria entender cual es la aplicacion de hacer un año compuesto de 360 dias y no 365.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 24/10/2010, 00:09
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 4 meses
Puntos: 361
Respuesta: Cantidad dias dos fechas tomando el mes de 30

Hola:

Cita:
Iniciado por miguec04 Ver Mensaje
mira, lo que pasa es que contablemente se cuenta como mes 30 dias...
Y yo esto no lo había oído nunca. Todos los programas de gestión administrativa, que conozco, calculan las fechas como son.

Saludos.

  #8 (permalink)  
Antiguo 24/10/2010, 14:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Respuesta: Cantidad dias dos fechas tomando el mes de 30

Mi señora es contadora y me dice que no, que sólo se usan meses de 30 días y años de 360 para realizar cálculos financieros (intereses y esas cosas).
__________________
...___...
  #9 (permalink)  
Antiguo 24/10/2010, 14:26
Avatar de Vanchi
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Io voy donde vo' vai... Ca'eza
Mensajes: 1.111
Antigüedad: 17 años, 10 meses
Puntos: 138
Respuesta: Cantidad dias dos fechas tomando el mes de 30

Güenas.

De javascript no se nada... sin embargo creo que puedo ayudarte.

¿Vos querés algo así como la función "days360" de las planillas de cálculo?

Bueno... No es dificil implementarla.

EDIT:
NOTA: Puse un código más simple en un post abajo. Esto lo dejo solo para referencia, pero el algoritmo a usar debiera ser el del próximo post

Siendo que todos los meses son iguales la cosa se simplifica bastante.
1º Calcular los años (y multiplicar x 360)
2º Calcular los meses (y multiplicar x 30)
3º Calcular los días

IMPORTANTE: Para usar mi algoritmo: Los años y meses DEBEN SER COMPLETOS. Es decir del 1 de febrero del 2009 al 1 de enero del 2011 solo ha pasado UN año (porque el otro aun no termina... UN año y 11 meses)

Ej,


Del 4/8/2008 al 23/5/2010
(vamos guardando los datos en "RTA")

1º Calcular años
Como el mes 8 está después del mes 5 entonces hay 1 solo año (no se concidera el año completo)
RTA = 1 x 360 = 360

2º Calcular los meses
Primero vemos que el día 23 está luego del 4 (se concidera el mes completo).
Del 8 la 5 hay -3. Es decir 3 meses antes.
A ese -3 hay que sumarle 12 para que de positivo (ese 12 fue el que no consideramos en el 1º punto ya que 8 estaba después del 5). Dicho en otras palabras: Del mes 8 al mes 5 EN SENTIDO CRONOLÓGICO (yendo para adelante) hay 9 meses.

RTA = RTA + 9 x 30 = 630

3º Calcular los días.
Del 4 al 23 hay 19 días
RTA = RTA + 19 = 649

Bueno... Espero que esto te oriente un poco. Es mucho más complicado explicarlo que hacerlo.

Saludos.

PD: Tener en cuenta si la fecha a calcular es de un 31 pasarlo al 30 ya que sino estarías mintiendo al algoritmo y, por tanto, tendrías un respuesta errada en un día.
__________________
Según recientes estudios científicos, los 3 más grandes descubrimientos de la humanidad son: El fuego, la rueda y la minifalda.
Yo personalmente no le encuentro mucha utilidad a los 2 primeros.

Última edición por Vanchi; 24/10/2010 a las 15:26
  #10 (permalink)  
Antiguo 24/10/2010, 15:17
Avatar de Vanchi
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Io voy donde vo' vai... Ca'eza
Mensajes: 1.111
Antigüedad: 17 años, 10 meses
Puntos: 138
Respuesta: Cantidad dias dos fechas tomando el mes de 30

Me quedé pensando...

Hay una forma mucho más directa... (incluye volver el tiempo atrás, je, je)

Separar Año, Mes y día

La diferencia en años (año final - año inicial) multiplicarla por 360
La diferencia en meses (mes final - mes inicial) multiplicarla por 30
La diferencia en (día final - día inicial) días sumarla

NOTA: Tanto la diferencia en meses como la diferencia en días pueden dar valores negativos. No importa. Sumarlas algebraicamente

En el ejemplo anterior teníamos
Del 4/8/2008 al 23/5/2010

Año_Fin = 2010
Año_Ini = 2008
2010 - 2008
La diferencia en años es 2

Mes_Fin = 5
Mes_Ini = 8

La diferencia en meses es = -3 (Notar que puede ser negativo)

Dia_Fin = 23
Dia_Ini = 4

La diferencia en días es 19

Rta = 2 x 360 + (-3 x 30) + 19 = 649

La misma respuesta, pero MUCHO más fácil el cálculo.

Saludos.
__________________
Según recientes estudios científicos, los 3 más grandes descubrimientos de la humanidad son: El fuego, la rueda y la minifalda.
Yo personalmente no le encuentro mucha utilidad a los 2 primeros.

Etiquetas: cantidad, dias, dos, fechas
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:30.