『スクリプト 汎用関数』 指定期間内か判定する
投稿者: aoihikawa 投稿日:2012/09/16 10:05
isTimePeriod(開始年,開始月,開始日,開始時,開始分,終了年,終了月,終了日,終了時,終了分)
使用例
ツイート
#うるう年の判定 def getUruuflg(y) return (y % 4) == 0 && (y % 100) != 0 || (y % 400) == 0 end #経過時間の計算 def deffTime(t) mi = 0 d_li = createArray() d_li = splitString("0,31,59,90,120,151,181,212,243,273,304,334,365",",") i = 0 while i < getArrayLength(d_li) d_li[i] = toNumber(d_li[i]) i = i + 1 end j = t[0] - 1 while j > 1999 if getUruuflg(j) mi = mi + 527040 else mi = mi + 525600 end j = j - 1 end if getUruuflg(t[0]) && (t[1] > 2) mi = mi + 1440 end mi = mi + ((d_li[(t[1] - 1)] + (t[2] - 1)) * 1440) mi = mi + (t[3] - 1) * 60 + t[4] return mi end #期間中か判定する def isTimePeriod(sy,sm,sd,sh,smi,ey,em,ed,eh,emi) t = getServerCurrentDate() if sy == 0 && ey == 0 t[0] = 0; t[1] = 0; t[2] = 0 end ntp = deffTime(t) st = createArray() st[0] = sy; st[1] = sm; st[2] = sd; st[3] = sh; st[4] = smi stp = deffTime(st) et = createArray() et[0] = ey; et[1] = em; et[2] = ed; et[3] = eh; st[4] = emi etp = deffTime(et) return (stp <= ntp && etp >= ntp) end
使用例
#期間中か判定する #2012年9月1日0:00 ~ 2012年12月31日23:59 if isTimePeriod(2012,9,1,0,0,2012,12,31,23,59) speak("期間中です") else speak("期間外です") end #毎日10:00 ~ 15:59(年月日を0にします) if isTimePeriod(0,0,0,10,0,0,0,0,15,59) speak("期間中です") else speak("期間外です") end
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。