Clear
ldDate=Date()
ldDateB={^2004/02/29}
ldDateE={^2005/02/28}
*--月天數
?"月天數",32-Day(ldDate-Day(ldDate)+32)
*--月初日期
?"月初日期",ldDate-Day(ldDate)+1
?"月初日期",Date(Year(ldDate),Month(ldDate),1)
*--月末日期
?"月末日期",Gomonth(ldDate-Day(ldDate)+1,1)-1
?"月末日期",Gomonth(ldDate,1)-Day(Gomonth(ldDate,1))
?"月末日期",ldDate-Day(ldDate)+32-Day(ldDate-Day(ldDate)+32)
?"月末日期",Date(Year(Gomonth(ldDate,1)),Month(Gomonth(ldDate,1)),1)-1
*--兩個日期之間天數(Max是防止ldDateE小於ldDateB)
?"兩個日期之間天數",Max(ldDateE-ldDateB,0)
*--兩個日期之間月數(Max是防止ldDateE小於ldDateB)
?"兩個日期之間月數",Max((Year(ldDateE)-Year(ldDateB))*12+Month(ldDateE)-(Month(ldDateB)+Iif((Day(ldDateE)<Day(ldDateB)
And Day(ldDateE+1)>1),1,0)),0)
*--兩個日期之間年數,可以用於計算年齡(Max是防止ldDateE小於ldDateB)
?"兩個日期之間年數",Max(Year(ldDateE)-Year(ldDateB)-Iif(Gomonth(ldDateB,(Year(ldDateE)-Year(ldDateB))*12)>ldDateE,1,0),0)
?"兩個日期之間年數",Max(Int(((Year(ldDateE)-Year(ldDateB))*12+Month(ldDateE)-(Month(ldDateB)+Iif((Day(ldDateE)<Day(ldDateB)
And Day(ldDateE+1)>1),1,0)))/12),0)