VFP生成指定月份日历的方法二

作者在 2015-03-14 13:04:04 发布以下内容
Clear
lnYear=2015
lnMonth=2
lDate1=Date(lnYear,lnMonth,1) && 本月期初日期
lDate2=Gomonth(lDate1,1)-1 && 本月期末日期
lnDay1=Dow(lDate1,2)-1 && 与本周星期一之间相差的天数
lnDay2=lDate2-lDate1+1 && 本月天数
lnDay3=Ceiling((lnDay1+lnDay2)/7)*7 && 日历元素数

Create Cursor Tdate (星期一 N(2),星期二 N(2),星期三 N(2),星期四 N(2),星期五 N(2),星期六 N(2),星期日 N(2))
Local Adow[lnDay3],lnI
lDate1=lDate1-Dow(lDate1,2)+1
lnI=1
Do While lnI<=lnDay3
   Adow[lnI]=Day(lDate1)
   lDate1=lDate1+1
   lnI=lnI+1
EndDo
Dimension Adow[lnDay3/7,7]
Insert Into Tdate From Array Adow
Browse
QQ截图20150314130147.jpg (上传于2015-03-14 13:04:04)
QQ截图20150314130147.jpg
作者在 2021-03-05 00:10:14 补充以下内容
lnYear = 2021
lnMonth = 11
CREATE CURSOR Tdate (星期一 N(2),星期二 N(2),星期三 N(2),星期四 N(2),星期五 N(2),星期六 N(2),星期日 N(2))
tdDate = DATE(lnYear, lnMonth, 1)
DO WHILE MONTH(tdDate) = lnMonth
	lnDay = DAY(tdDate)
	lcDay = SUBSTR("一二三四五六日",DOW(tdDate, 2) * 2 - 1, 2)
	IF RECCOUNT() = 0 OR DOW(tdDate, 2) % 7 = 1
		APPEND BLANK 
	ENDIF 
	REPLACE ("星期" + lcDay) WITH lnDay
	tdDate = tdDate + 1
ENDDO 
BROWSE 
日期时间问题 | 阅读 2488 次
文章评论,共0条
游客请输入验证码
浏览396889次