RE:Como obtener DIA CALENDARIO
Marcelo
Te paso algunas formas de tratar fechas que te pueden ser de utilidad
! Cargo una fecha inicial cuando fecha desde es igual a cero
IF LOC:FechaDesde = 0
LOC:FechaDesde = deformat ('01/01/1950',@d06)
END
! Cargo Fecha Actual si la fecha ingresada = cero
IF LOC:FechaHasta = 0
LOC:FechaHasta = Today()
END
Display ! Muestro Todo
! Controlo Fecha Que no sea mayor a Today() , Muestro en el Message el Valor de Today() y regreso el foco al campo LOC:FechaHasta
IF LOC:FechaHasta > Today()
Message('Fecha Hasta No Puede Ser Mayor a Fecha Actual......'&format(Today(),@d06b),'Mensaje del Sistema',ICON:Exclamation)
Select(?LOC:FechaHasta) ! Regresa al campo LOC:FechaHasta
CYCLE
End
! Primer Dia del Mes. Cargo LOC:FechaDesde con el dia 1 del mes y año actual
LOC:FechaDesde = DATE(MONTH(TODAY()),1,YEAR(TODAY()))
! Calculo Nombre del Día
EXECUTE (LOC:FECHA % 7) + 1
LOC:Dia = 'Domingo'
LOC:Dia = 'Lunes'
LOC:Dia = 'Martes'
LOC:Dia = 'Miércoles'
LOC:Dia = 'Jueves'
LOC:Dia = 'Viernes'
LOC:Dia = 'Sábado'
END
! Otra forma
LOC:Dia = choose((today() %7)+1,'Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado')
! Para Calcular el Número de Semana del Año
Loc:NroSemana = ((Loc:Fecha_A_Calcular - date(1,1,year(Loc:Fecha_A_Calcular) / 7) +1
La fecha que formás con DATE debe ser siempre el 1 de enero del año que te interesa.
Saludos