Convertir string de fecha a formato date

367 views
Skip to first unread message

Sebastian Almada

unread,
Jun 12, 2012, 10:32:02 AM6/12/12
to publice...@googlegroups.com
Estimados amigos del foro.
Estoy teniendo un inconveniente para procesar unas fechas parseadas de un archivo .xml
Las fechas vienen con un formato string tipo: '01 JAN 05' y necesito pasar las mismas a 01/01/2005 para poder realizar comprobaciones de vencimientos.

Alguien tiene idea de como puedo hacer esto ?
Desde ya muchas gracias...


Pablo Daniel Lissa

unread,
Jun 12, 2012, 11:04:50 AM6/12/12
to Comunidad de Visual Foxpro en Español
Hola:

Tal vez te pueda servir esta idea:


*******************************************************************************************
LOCAL cFecha as String
cFecha = "01 JAN 05"
dFecha = obtenerDate(cFecha)
?dFecha
RETURN


PROCEDURE obtenerDate(cFecha as String) as Date
LOCAL ARRAY aFragmentos(3)
ALINES(aFragmentos, cFecha, 1, ' ')

LOCAL nDia, nMes, nAnio
nDia = CAST(aFragmentos[1] as I)
nMes = obtenerNumeroMes(aFragmentos(2))
nAnio = CAST(aFragmentos[3] as I) + INT(YEAR(DATE())/1000) * 1000

RETURN DATE(nAnio, nMes, nDia)
ENDPROC


PROCEDURE obtenerNumeroMes(cMes as String) as Integer
DO CASE
CASE ALLTRIM(UPPER(cMes)) == "JAN"
RETURN 1
CASE ALLTRIM(UPPER(cMes)) == "FEB"
RETURN 2
CASE ALLTRIM(UPPER(cMes)) == "MAR"
RETURN 3
CASE ALLTRIM(UPPER(cMes)) == "APR"
RETURN 4
CASE ALLTRIM(UPPER(cMes)) == "MAY"
RETURN 5
CASE ALLTRIM(UPPER(cMes)) == "JUN"
RETURN 6
CASE ALLTRIM(UPPER(cMes)) == "JUL"
RETURN 7
CASE ALLTRIM(UPPER(cMes)) == "AUG"
RETURN 8
CASE ALLTRIM(UPPER(cMes)) == "SEP"
RETURN 9
CASE ALLTRIM(UPPER(cMes)) == "OCT"
RETURN 10
CASE ALLTRIM(UPPER(cMes)) == "NOV"
RETURN 11
CASE ALLTRIM(UPPER(cMes)) == "DEC"
RETURN 12
OTHERWISE
RETURN 0
ENDCASE
ENDPROC
*******************************************************************************************

Espero que te sirva. Saludos.
------------------------------------------------------------------------------------------------------------------
Reply all
Reply to author
Forward
0 new messages