「モジュール:カレンダー」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「local p = {} local function getTable(frame) yogurian = require("モジュール:ヨーグレキ") year = tonumber(frame.args[1]) month = tonumber(frame.args[2]) day…」) |
細 (ミス) |
||
(同じ利用者による、間の3版が非表示) | |||
3行目: | 3行目: | ||
local function getTable(frame) | local function getTable(frame) | ||
yogurian = require("モジュール:ヨーグレキ") | yogurian = require("モジュール:ヨーグレキ") | ||
ar = {string.match(frame.args[1], "(%d+)%-(%d+)%-(%d+)")} | |||
if ar[1] == nil then | |||
year = tonumber(frame.args[1]) | |||
month = tonumber(frame.args[2]) | |||
day = tonumber(frame.args[3]) | |||
else | |||
year = tonumber(ar[1]) | |||
month = tonumber(ar[2]) | |||
day = tonumber(ar[3]) | |||
end | |||
yogurian.checkYogurianValidDate(year,month,day) | |||
days = month == 1 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30 | days = month == 1 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30 | ||
beforeDays = month == 2 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30 | beforeDays = month == 2 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30 | ||
res = "{| class=\"wikitable\" style=\"text-align:center;color:red;width: | res = "{| class=\"wikitable\" style=\"text-align:center;color:red;" .. (frame.args[4] ~= nil and frame.args[4] or "width:70%;height:auto;font-size:200%;") .. "\"\n" | ||
.."|+ style=\"color:black\" | ".. month .."月\n" | .."|+ style=\"color:black\" | ".. month .."月\n" | ||
.."|- style=\"background-color:red;color:white;font-weight:bold;\"\n" | .."|- style=\"background-color:red;color:white;font-weight:bold;\"\n" |
2年1月34日 (W) 18:16時点における最新版
このモジュールについての説明文ページを モジュール:カレンダー/doc に作成できます
local p = {}
local function getTable(frame)
yogurian = require("モジュール:ヨーグレキ")
ar = {string.match(frame.args[1], "(%d+)%-(%d+)%-(%d+)")}
if ar[1] == nil then
year = tonumber(frame.args[1])
month = tonumber(frame.args[2])
day = tonumber(frame.args[3])
else
year = tonumber(ar[1])
month = tonumber(ar[2])
day = tonumber(ar[3])
end
yogurian.checkYogurianValidDate(year,month,day)
days = month == 1 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30
beforeDays = month == 2 and (yogurian.isLeap(year + 2020) and 36 or 35) or 30
res = "{| class=\"wikitable\" style=\"text-align:center;color:red;" .. (frame.args[4] ~= nil and frame.args[4] or "width:70%;height:auto;font-size:200%;") .. "\"\n"
.."|+ style=\"color:black\" | ".. month .."月\n"
.."|- style=\"background-color:red;color:white;font-weight:bold;\"\n"
.."| W || I || K || ゐ || 黃 || ヰ || 来"
gregorianDate = yogurian.yogurianToGregorianL(year,month,1)
doWeek = os.date("%w",os.time({day=gregorianDate[3],month=gregorianDate[2],year=gregorianDate[1]})) + 1
doWeek = doWeek > 6 and 0 or doWeek
m = month - 1
d = beforeDays - doWeek + 1
for i = 1,42 do
res = res .. ((i % 7 == 1) and "\n|-\n| " or "|| ")
if (m == month - 1 and d > beforeDays) then
d = 1
m = month
end
if (m == month and d > days) then
d = 1
m = month + 1
end
res = res .. (m ~= month and "style=\"color:#fbb\" | " or "")
res = res .. ((m == month and d == day) and "style=\"background-color:yellow\" | " .. d or d) .. " "
d = d + 1
end
return res.."\n|}"
end
p.getTable = getTable
return p