用意:某一個案子中為了顯示一週運勢的範圍而寫的。
用法:輸入西元的年,Flash的月,西月的日。回傳一個物件,物件有limi1及limi2兩個子物件,每個子物件各自有著y(年)、m(月)、d(日)的值。如果指定一個變數myLimit等於getWeekLimit(2007,4,31),那應你就可以由以下取得包含2007年五月31日的星期第一天及最後一天。
myLimit.limit1.y
myLimit.limit1.m
myLimit.limit1.d
myLimit.limit2.y
myLimit.limit2.m
myLimit.limit2.d
原碼:本函數有使用到getMonthDays函數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | function getWeekLimit(inY, inM, inD) { var tempObj = new Object(); tempObj.lim1 = new Object(); tempObj.lim2 = new Object(); var myDate:Date = new Date(inY, inM, inD); var myY = myDate.getFullYear(); var myM = myDate.getMonth(); var myD = myDate.getDate(); var myW = myDate.getDay(); var limit1 = myD-(myW); if (limit1<=0) { if ((myM-1) == -1) { tempObj.lim1.y = myY-1; var lastDate = getMonthDays((myY-1), 11); } else { tempObj.lim1.y = myY; var lastDate = getMonthDays(myY, (myM-1)); } var crossdays = 0-limit1+1; limit1 = lastDate-crossdays+1; tempObj.lim1.m = myM-1; tempObj.lim1.d = limit1; } else { tempObj.lim1.y = myY; tempObj.lim1.m = myM; tempObj.lim1.d = limit1; } var limit2 = myD+(7-myW)-1; var myFullDays = getMonthDays(myY, myM); if (limit2>myFullDays) { limit2 = limit2-myFullDays; if ((myM+1) == 12) { tempObj.lim2.y = myY+1; tempObj.lim2.m = 0; } else { tempObj.lim2.y = myY; tempObj.lim2.m = myM+1; } tempObj.lim2.d = limit2; } else { tempObj.lim2.y = myY; tempObj.lim2.m = myM; tempObj.lim2.d = limit2; } return tempObj; } |
完整原碼解說請至adswf.com觀看