Crie este Method Valida data, vc manda a data e o sistema ele verifica se é uma data Válida.
Espero que ajude
ClassMethod ValidaData(strData As %String) As %Boolean { New (strData) ; If strData'?2N1"/"2N1"/"4N Quit 0 Set (Mult,Div,Resto,Dia,Mes,Ano)="" Set Dia=$P(strData,"/",1) Set Mes=$P(strData,"/",2) Set Ano=$P(strData,"/",3) If (Dia<"01") Quit 0 If (Mes>"12")!(Mes<"01") Quit 0 If (Ano<1900)!(Ano>2050) Quit 0 If (Mes="01")!(Mes="03")!(Mes="05")!(Mes="07")&(Dia>31) Quit 0 If (Mes="08")!(Mes="10")!(Mes="12")&(Dia>31) Quit 0 If (Mes="04")!(Mes="06")!(Mes="09")!(Mes="11")&(Dia>30) Quit 0 If (Mes="02")&(Dia>29) Quit 0 If (Mes="02") { Set Resto=Ano#4 ;Set Div=Ano\4 ;Set Mult=Div*4 ;Set Resto=Ano-Mult If (Resto=0)&(Dia>29) Quit 0 If (Resto>0)&(Dia>28) Quit 0 } Quit 1 }
Olá, bom dia
Espero que ajude
ClassMethod ValidaData(strData As %String) As %Boolean
{
New (strData)
;
If strData'?2N1"/"2N1"/"4N Quit 0
Set (Mult,Div,Resto,Dia,Mes,Ano)=""
Set Dia=$P(strData,"/",1)
Set Mes=$P(strData,"/",2)
Set Ano=$P(strData,"/",3)
If (Dia<"01") Quit 0
If (Mes>"12")!(Mes<"01") Quit 0
If (Ano<1900)!(Ano>2050) Quit 0
If (Mes="01")!(Mes="03")!(Mes="05")!(Mes="07")&(Dia>31) Quit 0
If (Mes="08")!(Mes="10")!(Mes="12")&(Dia>31) Quit 0
If (Mes="04")!(Mes="06")!(Mes="09")!(Mes="11")&(Dia>30) Quit 0
If (Mes="02")&(Dia>29) Quit 0
If (Mes="02") {
Set Resto=Ano#4
;Set Div=Ano\4
;Set Mult=Div*4
;Set Resto=Ano-Mult
If (Resto=0)&(Dia>29) Quit 0
If (Resto>0)&(Dia>28) Quit 0
}
Quit 1
}