alguna operacion con fecha para sacar la cantidad de meses de dos fechas
879 views
Skip to first unread message
Marcelo Barberis
unread,
Apr 27, 2011, 4:21:38 AM4/27/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to publicesvfoxpro
Amigos Alguien ha trabajado con con operaciones con fechas para sacar la cantidad de meses transcurridos entre dos fechas, pero exactamente? Yo estuve probando con esta operacion pero no me sale bien parece
Yo quiero sacar algo como asi: fecha actua: 27/04/2011 fecha_nacimiento: 01/03/2011 resultado: 1,27 es decir 1 mes y 27 dias *****************************************************
fecha actual: 27/04/2011 fecha_nacimiento: 01/04/2009 resultado: 24,27 es decir 24 meses y 27 dias
Alfonso Arias Lemas
unread,
Apr 27, 2011, 7:25:30 AM4/27/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to publice...@googlegroups.com
Sugerencia:
fecha actua: 27/04/2011 fecha_nacimiento: 01/03/2011
vMes=int((date(2011,4,27)-date(2011,3,1))/30)
vDias=(date(2011,4,27)-date(2011,3,1))%30
resultado=allt(str(vMes))+","+allt(str(vDias))
Saludos,
Alfonso
De: Marcelo Barberis <alexm...@gmail.com> Para: publicesvfoxpro <publice...@googlegroups.com> Enviado: miércoles 27 de abril de 2011 7:21 Asunto: Re: [vfp] alguna operacion con fecha para sacar la cantidad de meses de dos fechas
Jose Oscar Vogel
unread,
Apr 27, 2011, 7:34:02 AM4/27/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to publice...@googlegroups.com
Fijate en la funcion que te adjunte, te calcula la cantidad de dias, meses y años transcurridos entre dos fechas, la funcion no es mia la baje de algun lado de internet que no recuerdo, lo unico que le he agregado yo es insertar todos los valores en un cursor llamado datos, con lo cual al retornar la funcion tienes un cursor donde estan los tres valores.-
espero te sirva
saludos
-- Prof. Jose Oscar Vogel Garuhapé - Misiones CP 3334 Cel: 03743-15667526
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to publice...@googlegroups.com
Hola Marcelo
Fijate en la funcion gomonth()
Saludos
-- Ricardo Pina D&SIP Desarrollo y Servicios Informáticos Profesionales www.dsip.com.ar
Cesar Julio Pacheco Escalante
unread,
Apr 27, 2011, 9:34:16 AM4/27/11
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to publice...@googlegroups.com
hace bastante tiempo lo baje..... no recuerdo pero me fue de gran ayuda...
espero te sirva...
SET DATE BRITISH
?dif_amd(CTOD("22/10/1958"),DATE())
*-----------------------------------------------------
* FUNCTION Dif_AMD(tdIni, tdFin)
*-----------------------------------------------------
* Calcula la diferencia entre dos fechas en:
* años, meses y días
* Usa la función DiasDelMes()
*-----------------------------------------------------
FUNCTION Dif_AMD(tdIni, tdFin)
LOCAL ldAux, lnAnio, lnMes, lnDia, lcRet
*--- Fecha inicial siempre menor
IF tdIni>tdFin
ldAux = tdIni
tdIni = tdFin
tdFin = ldAux
ENDIF
lnAnio = YEAR(tdFin) - YEAR(tdIni)
ldAux = GOMONTH(tdIni, 12 * lnAnio)
*--- No cumplio el año aun
IF ldAux > tdFin
lnAnio = lnAnio - 1
ENDIF
lnMes = MONTH(tdFin) - MONTH(tdIni)
IF lnMes < 0
lnMes = lnMes + 12
ENDIF
lnDia = DAY(tdFin) - DAY(tdIni)
IF lnDia < 0
lnDia = lnDia + DiasDelMes(tdIni)
ENDIF
*--- Si el dia es mayor, no cumplio el mes
IF (DAY(tdFin) < DAY(tdIni))
IF lnMes = 0
lnMes = 11
ELSE
lnMes = lnMes - 1
ENDIF
ENDIF
lcRet = ALLTRIM(STR(lnAnio))+ " AÑOS, " + ;
ALLTRIM(STR(lnMes))+ " MESES Y " + ;
ALLTRIM(STR(lnDia))+ " DIAS."
RETURN lcRet
ENDFUNC
*-----------------------------------------------------
* FUNCTION DiasDelMes(dFecha)
*------------------------------------------------
* Retorna los días de un mes. Usada por Dif_AMD
*------------------------------------------------
FUNCTION DiasDelMes(dFecha)
LOCAL ld
ld = GOMONTH(dFecha,1)
RETURN DAY(ld - DAY(ld))
ENDFUNC
César Julio..
From: ric...@gmail.com Date: Wed, 27 Apr 2011 10:26:19 -0300 Subject: Re: [vfp] alguna operacion con fecha para sacar la cantidad de meses de dos fechas To: publice...@googlegroups.com