سلام
بفرمایید
*------------------
PROCEDURE datem2s
Parameters DateMToS_InputDate
DateMToS_nDay=(Val(Sys(11,DateMToS_Inp utDate))-431)
DateMToS_Sal=4*Int(DateMToS_nDay/1461)-5333
DateMToS_Mandah=Mod(DateMToS_nDay,1461)
Do Case
Case DateMToS_Mandah=0
DateMToS_Sal=DateMToS_Sal
DateMToS_Roz=366
Case DateMToS_Mandah<=365*1
DateMToS_Sal=DateMToS_Sal+1
DateMToS_Roz=Mod((DateMToS_nDay-(0*365)),1461)
Case DateMToS_Mandah<=365*2
DateMToS_Sal=DateMToS_Sal+2
DateMToS_Roz=Mod((DateMToS_nDay-(1*365)),1461)
Case DateMToS_Mandah<=365*3
DateMToS_Sal=DateMToS_Sal+3
DateMToS_Roz=Mod((DateMToS_nDay-(2*365)),1461)
Case DateMToS_Mandah=<1460
DateMToS_Sal=DateMToS_Sal+4
DateMToS_Roz=Mod((DateMToS_nDay-(3*365)),1461)
EndCase
Do Case
Case DateMToS_Roz<=31*1
DateMToS_cMm='01'
DateMToS_cDd=Str(DateMToS_Roz-31*0,2)
Case DateMToS_Roz<=31*2
DateMToS_cMm='02'
DateMToS_cDd=Str(DateMToS_Roz-31*1,2)
Case DateMToS_Roz<=31*3
DateMToS_cMm='03'
DateMToS_cDd=Str(DateMToS_Roz-31*2,2)
Case DateMToS_Roz<=31*4
DateMToS_cMm='04'
DateMToS_cDd=Str(DateMToS_Roz-31*3,2)
Case DateMToS_Roz<=31*5
DateMToS_cMm='05'
DateMToS_cDd=Str(DateMToS_Roz-31*4,2)
Case DateMToS_Roz<=31*6
DateMToS_cMm='06'
DateMToS_cDd=Str(DateMToS_Roz-31*5,2)
Case DateMToS_Roz<=31*6+30*1
DateMToS_cMm='07'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*0,2)
Case DateMToS_Roz<=31*6+30*2
DateMToS_cMm='08'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*1,2)
Case DateMToS_Roz<=31*6+30*3
DateMToS_cMm='09'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*2,2)
Case DateMToS_Roz<=31*6+30*4
DateMToS_cMm='10'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*3,2)
Case DateMToS_Roz<=31*6+30*5
DateMToS_cMm='11'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*4,2)
Case DateMToS_Roz<=31*6+30*6
DateMToS_cMm='12'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*5,2)
EndCase
DateMToS_cDd=Righ('00'+Allt(DateMToS_cDd&# 41;,2)
DateMToS_Sal=Righ('0000'+Allt(Str(Date MToS_Sal)),4)
Return DateMToS_Sal+'/'+DateMToS_cMm+'/'+DateMToS_cDd