如今天10月25日,那得到应该是9月25日
10月31日的话,得到9/30
3月31,30,29的话,2/28或2/29
2005/1/25的话,2004/12/25,不知道那位知道做法
谢谢了

解决方案 »

  1.   

    Private Sub Command1_Click()
    MsgBox DateAdd("m", -1, Date)
    End Sub
      

  2.   

    DateAdd("m", -1, #2004/10/25#)
    DateAdd("m", -1, #2004/10/31#)DateAdd 函數
          傳回值為一 Variant (Date),內容為某個基準日期加上特定時間間隔單位後的日期。語法DateAdd(interval, number, date)DateAdd 函數語法中有下列的指名引數:單元 說明 
    interval 必要引數。字串運算式,表示所要加上去之時間間隔單位。 
    number 必要引數。數值運算式,表示要加上之時間間隔單位的次數。其數值可以為正數 (可得未來日期),亦可以為負數 (可得過去的日期)。 
    date 必要引數。可為型態為Variant (Date) 之變數或正確表示出日期之字串,代表基準日期,將此基準日期加上 number 次的 interval 後,即為傳回值之日期。 
    設定interval 引數的設定值如下:設定 說明 
    yyyy 西元年 
    q 季 
    m 月 
    y 一年的日數 
    d 日 
    w 一週的日數 
    ww 週 
    h 時 
    n 分 
    s 秒 
    請注意DateAdd 函數可以計算基準日期加上或減去您所指定的時間間隔後的結果。例如,您可以用 DateAdd 來計算從今天起三十天後或三十天前的日期是那一天;或者計算距離現在 45 分鐘前或 45 分鐘後的時間。如果時間間隔是以 [天] 來計算,interval 引數可以是 [一年的日數] ("y"),[日] ("d"),或 [一週的日數] ("w")。DateAdd 函數所傳回的日期一定是有效的。下面的範例以一月三十一日為基準日,計算加上三十日後的結果。DateAdd("m", 1, "31-Jan-95")上例中,DateAdd 傳回 28-Feb-95,而不是 31-Feb-95。如果基準日 date 是 31-Jan-96,傳回值則是 29-Feb-96,因為 DateAdd 函數知道 1996 年是閏年。如果減去的年度超過基準日的年份,就會產生程式錯誤。如果 number 引數不是一個 Long 值,計算時會取最接近的整數值來計算。附註   DateAdd 傳回值的格式由 Control Panel設定決定,而不是傳遞到 date引數的格式決定。