「モジュール:Maintenance/isShow」の版間の差分
細 (要素の最後を取得するように修正) |
細 (判定が誤っていた物を修正) |
||
29行目: | 29行目: | ||
--メンテナンスが終わってるか判定 | --メンテナンスが終わってるか判定 | ||
if endtime ~= 0 then | if endtime ~= 0 then | ||
if ( os.difftime(os.time( | if ( os.difftime(endtime, os.time()) > 0 ) then | ||
return "true" | return "true" | ||
else | else | ||
36行目: | 36行目: | ||
elseif start ~= 0 then | elseif start ~= 0 then | ||
if start == "-1" then | if start == "-1" then | ||
elseif | elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then | ||
return "true" | return "true" | ||
end | end |
2023年7月12日 (水) 17:00時点における最新版
このモジュールについての説明文ページを モジュール:Maintenance/isShow/doc に作成できます
local p = {} function p.main() -- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("module:Maintenance/data.json") --forで最後の要素までカウントする for index,item in ipairs(maintenancedata.maintenance) do c = index end -- 開始時間について定義 if maintenancedata.maintenance[c].start == "near" then start = "-1" else start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start) end -- 終了時間について定義 if maintenancedata.maintenance[c].time == "few" then endtime = "0" elseif maintenancedata.maintenance[c].time == "intermittent" then endtime = "0" elseif maintenancedata.maintenance[c].time == "observation" then endtime = "0" else endtime = maintenancedata.maintenance[c].time end --メンテナンスが終わってるか判定 if endtime ~= 0 then if ( os.difftime(endtime, os.time()) > 0 ) then return "true" else return "false" end elseif start ~= 0 then if start == "-1" then elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then return "true" end else return "false" end end return p