「モジュール:Maintenance/isShow」の版間の差分
細編集の要約なし |
細編集の要約なし |
||
6行目: | 6行目: | ||
-- 開始時間について定義 | -- 開始時間について定義 | ||
if maintenancedata.maintenance[1].start == "near" then | if maintenancedata.maintenance[1].start == "near" then | ||
start = " | start = "-1" | ||
else | else | ||
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start) | start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start) | ||
31行目: | 31行目: | ||
end | end | ||
elseif start ~= 0 then | elseif start ~= 0 then | ||
if ( os.difftime(os.time()+86400, starttime) ) | if start == "-1" then | ||
elseif 0 > ( os.difftime(os.time()+86400, starttime) ) then | |||
return "true" | return "true" | ||
end | end |
2023年4月22日 (土) 18:19時点における版
このモジュールについての説明文ページを モジュール:Maintenance/isShow/doc に作成できます
local p = {} function p.main() -- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json") -- 開始時間について定義 if maintenancedata.maintenance[1].start == "near" then start = "-1" else start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start) end -- 終了時間について定義 if maintenancedata.maintenance[1].time == "few" then endtime = "0" elseif maintenancedata.maintenance[1].time == "intermittent" then endtime = "0" elseif maintenancedata.maintenance[1].time == "observation" then endtime = "0" else endtime = maintenancedata.maintenance[1].time end --メンテナンスが終わってるか判定 if endtime ~= 0 then if ( os.difftime(os.time(), endtime) ) > 0 then return "true" else return "false" end elseif start ~= 0 then if start == "-1" then elseif 0 > ( os.difftime(os.time()+86400, starttime) ) then return "true" end else return "false" end end return p