20.643
Bearbeitungen
(linkFormDate() zusätzlich ISO-P case YYYY-MM-DD) |
(switch kal.month_names[] / kal.month_numbers[] von Modul:Kalender) |
||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local | |||
local com = require("Module:Common") | |||
local str = require("Modul:String") | local str = require("Modul:String") | ||
local kal = require("Modul:Kalender") | |||
function p.LinkFormDate(frame) | function p.LinkFormDate(frame) | ||
| Zeile 10: | Zeile 12: | ||
function p.linkFormDate(date, attr_date, attr_day, attr_year) | function p.linkFormDate(date, attr_date, attr_day, attr_year) | ||
local date_array | local date_array | ||
local mda | local mda | ||
| Zeile 35: | Zeile 36: | ||
mw.smw.set({[attr_date] = date}) | mw.smw.set({[attr_date] = date}) | ||
end | end | ||
if | if com.isEmpty(date_array[2]) then | ||
-- When datestring contained no "/" | -- When datestring contained no "/" | ||
if | if com.isInteger(date_array[1]) then | ||
-- When dateformat is just YYYY | -- When dateformat is just YYYY | ||
return "[[" .. attr_year .. date_array[1] .. "]]" | return "[[" .. attr_year .. date_array[1] .. "]]" | ||
| Zeile 45: | Zeile 46: | ||
return mda[1] .. " [[" .. attr_year .. mda[2] .. "]]" | return mda[1] .. " [[" .. attr_year .. mda[2] .. "]]" | ||
end | end | ||
elseif | elseif com.isEmpty(date_array[3]) then | ||
-- Datestring contained one "/" | -- Datestring contained one "/" | ||
mn = | mn = kal.month_names[tonumber(date_array[2])] | ||
return mn .. " [[" .. attr_year .. date_array[1] .. "]]" | return mn .. " [[" .. attr_year .. date_array[1] .. "]]" | ||
else | else | ||
-- Dateformat should be YYYY/MM/DD or YYYY-MM-DD | -- Dateformat should be YYYY/MM/DD or YYYY-MM-DD | ||
mn = | mn = kal.month_names[tonumber(date_array[2])] | ||
date_array[3] = date_array[3]:gsub('0*', '', 1) | date_array[3] = date_array[3]:gsub('0*', '', 1) | ||
return "[[" .. attr_day .. date_array[3] .. ". " .. mn .. "]]" .. | return "[[" .. attr_day .. date_array[3] .. ". " .. mn .. "]]" .. | ||
| Zeile 67: | Zeile 68: | ||
local day | local day | ||
if | if com.isEmpty(date_array[2]) then | ||
-- When datestring contained no " ", thus is year | -- When datestring contained no " ", thus is year | ||
return "[[" .. date_array[1] .. "]]" | return "[[" .. date_array[1] .. "]]" | ||
elseif | elseif com.isEmpty(date_array[3]) then | ||
-- When datestring contains monthname and year | -- When datestring contains monthname and year | ||
return date_array[1] .. " [[" .. date_array[2] .. "]]" | return date_array[1] .. " [[" .. date_array[2] .. "]]" | ||
| Zeile 94: | Zeile 95: | ||
local mnr -- monthnr | local mnr -- monthnr | ||
if | if com.isEmpty(date_array[2]) then | ||
-- When datestring contained no " ", thus is year | -- When datestring contained no " ", thus is year | ||
return date_array[1] | return date_array[1] | ||
elseif | elseif com.isEmpty(date_array[3]) then | ||
-- When datestring contains monthname and year | -- When datestring contains monthname and year | ||
return date_array[1].." "..date_array[2] | return date_array[1].." "..date_array[2] | ||
| Zeile 103: | Zeile 104: | ||
day = string.gsub(date_array[1], "%.", "") | day = string.gsub(date_array[1], "%.", "") | ||
day = string.format("%02d", day) | day = string.format("%02d", day) | ||
mnr = | mnr = kal.month_numbers[date_array[2]] | ||
mnr = string.format("%02d", mnr) | mnr = string.format("%02d", mnr) | ||
return date_array[3] .. "/" .. mnr .. "/" .. day | return date_array[3] .. "/" .. mnr .. "/" .. day | ||