Para tal fin, mostramos el siguiente código, en el cual el valor de la variable local tdate es la fecha que debe ser pasado como parametro en formato DATE(). Nosotros usamos el dia actual como ejemplo, pero si se requiere adecuarlo como una funcion especifica, basta con pasar el parametro tdate y retornar el valor.
Bien... aca el codigo:
**------------------------------------------
LOCAL tdate, lnday, lnndx, lnMonth, lnDay
**--
LOCAL lcDia, lcMes, lnAño, lcSufijo, lcFecha
tdate = DATE()
**--
lnndx = DAY(tdate)
lnMonth = MONTH(tDate)
lnDay = DOW(tDate)
lcSufijo = " de "
lnAño = YEAR(tdate)
**--Obtenemos el día
DO CASE
**Domingo
CASE lnDay = 1
lcDia = "Domingo"
**Lunes
CASE lnDay = 2
lcDia = "Lunes"
**Martes
CASE lnDay = 3
lcDia = "Martes"
**Miercoles
CASE lnDay = 4
lcDia = "Miercoles"
**Jueves
CASE lnDay = 5
lcDia = "Jueves"
**Viernes
CASE lnDay = 6
lcDia = "Viernes"
**Sábado
CASE lnDay = 7
lcDia = "Sábado"
ENDCASE
**--//
**--Obtenemos el mes
DO CASE
**Enero
CASE lnMonth = 1
lcMes = "Enero"
**Febrero
CASE lnMonth = 2
lcMes = "Febrero"
**Marzo
CASE lnMonth = 3
lcMes = "Marzo"
**Abril
CASE lnMonth = 4
lcMes = "Abril"
**Mayo
CASE lnMonth = 5
lcMes = "Mayo"
**Junio
CASE lnMonth = 6
lcMes = "Junio"
**Julio
CASE lnMonth = 7
lcMes = "Julio"
**Agosto
CASE lnMonth = 8
lcMes = "Agosto"
**Septiembre
CASE lnMonth = 9
lcMes = "Septiembre"
**Octubre
CASE lnMonth = 10
lcMes = "Octubre"
**Noviembre
CASE lnMonth = 11
lcMes = "Noviembre"
**Diciembre
CASE lnMonth = 12
lcMes = "Diciembre"
ENDCASE
**--Armamos la fecha
lcFecha = lcDia + ", " + ALLTRIM(STR(lnndx) + lcSufijo + lcMes + lcSufijo + ALLTRIM(STR(lnAño)))
MESSAGEBOX(lcFecha)
**----------------------------------------------------------------------------------------------
Saludos. Cualquier duda, comentario o aportacion para mejorar es siempre bienvenido.
Un abrazo!
Desde Managua, Nicaragua!
Ravenn :D :D :D
Desde VFP 9 (creo) podríamos usar ICASE:
ResponderEliminarlcDia = ICASE (lnDay = 1,"Domingo",lnDay = 2,"Lunes",.......,lnDay = 7, "Sábado")
Saludos Amigo.
Para mí una forma mas sencilla es haciendo uso de el comando ALLTRIM y DATE()...
ResponderEliminarAlltr(Str(DAY(DATE())))+" de "+Alltr(cmonth(DATE()))+" del "+Alltr(Str(Year(DATE())))
Saludos.
Concuerdo con Adan Bustamante
ResponderEliminarlcDia = CDOW(DATE())+", "+Alltr(Str(DAY(DATE())))+" de "+Alltr(cmonth(DATE()))+" del "+Alltr(Str(Year(DATE())))