VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

日期函數

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
littlechou



註冊時間: 2005-02-02
文章: 47


第 1 樓

發表發表於: 星期五 二月 24, 2006 4:10 pm    文章主題: 日期函數 引言回覆

請教:
有何函數可以知道,每個月份共有幾天。
例如:1月有31天,2月有28天。
回頂端
檢視會員個人資料 發送私人訊息
a123eric



註冊時間: 2003-10-20
文章: 64


第 2 樓

發表發表於: 星期五 二月 24, 2006 5:53 pm    文章主題: 引言回覆

RELEASE ALL
CLOSE all
CLEAR ALL

=MESSAGEBOX(getlastday(INPUTBOX("請輸入年月(YYYY/MM)", "抓出當月天數, 請輸入西元年")))

FUNCTION getlastday(pYM)
LOCAL lcY, lcM
SET DATE MDY
IF EMPTY(pYM)
RETURN 0
ENDIF
lcY = IIF(VAL(SUBSTR(pYM, 6, 2)) < 12, SUBSTR(pYM, 1, 4), STR(INT(VAL(SUBSTR(pYM, 1, 4)) + 1), 4))
lcM = IIF(VAL(SUBSTR(pYM, 6, 2)) < 12, PADL(INT(VAL(SUBSTR(pYM, 6, 2))+1), 2, "0"), "01")
RETURN DAY(CTOD(lcM + "/01/" + lcY)-1)
回頂端
檢視會員個人資料 發送私人訊息
215001



註冊時間: 2003-06-11
文章: 393


第 3 樓

發表發表於: 星期五 二月 24, 2006 8:35 pm    文章主題: 引言回覆

? RetDays(2006,2)

FUNCTION RetDays
LPARAMETERS xyyyy,xmm
LOCAL xdate

xdate=DATE(xyyyy,xmm,1) && 本月1日
xdate=GOMONTH( xdate,1 ) -1 && 下個月1日-1天=本月底

RETURN DAY(xdate)
ENDFUNC
回頂端
檢視會員個人資料 發送私人訊息
zxplhzlt



註冊時間: 2004-02-27
文章: 2


第 4 樓

發表發表於: 星期六 二月 25, 2006 8:54 am    文章主題: 引言回覆

? RetDays(2006,2)

FUNCTION RetDays
LPARAMETERS xyyyy,xmm
RETURN gomonth(date(xyyy,xmm,1),1)-date(xyyy,xmm,1)
ENDFUNC
回頂端
檢視會員個人資料 發送私人訊息
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 5 樓

發表發表於: 星期六 二月 25, 2006 9:17 am    文章主題: 引言回覆

現在寫程式真幸福, 以前 自己寫一個 DOW() 的函數, 就要 計算一切~~~
因為 日期是不能相減 咁輕鬆!

? RetDays2(2006,2)

FUNCTION RetDays2
LPARAMETERS xyyyy,xmm
DOW1 = DOW(date(xyyy,xmm,1))
DOW2 = DOW(gomonth(date(xyyy,xmm,1),1)
IF DOW2>DOW1
nDAYS = 28 + DOW2 - DOW1
ELSE
nDAYS = 35 + DOW2 - DOW1
ENDIF

RETURN nDAYS
ENDFUNC

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
alainchou



註冊時間: 2005-07-27
文章: 4


第 6 樓

發表發表於: 星期一 二月 27, 2006 4:41 pm    文章主題: 引言回覆

我比較懶
我都是讓日期跳至下個月的第一天再減一
就知道那個月的最後一天是什麼了
Foxpro的日期是可以加減的啊!
回頂端
檢視會員個人資料 發送私人訊息
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 7 樓

發表發表於: 星期三 三月 01, 2006 1:10 pm    文章主題: 引言回覆

我也是採用 alainchou 的方法,
將待測月份 +1 得下一個月份,再 -1 就成了

ex 要知道 2006/2 您可以

? day({^2006/3/1} -1)

就得到 28
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作