Baustelle.svg Eine Bearbeitungssperre steht an, welche von 23. Januar bis einschließlich 25. Januar dauern wird. In dieser Zeit wird das FürthWiki weiterhin lesbar, aber nicht bearbeitbar sein.

Modul:LinkFormDatum: Unterschied zwischen den Versionen

Aus FürthWiki

switch kal.month_names[] / kal.month_numbers[] von Modul:Kalender
(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 c = require( "Module:Common" )
 
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 months = c.getMonthList()
     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 c.isEmpty(date_array[2]) then
     if com.isEmpty(date_array[2]) then
     -- When datestring contained no "/"
     -- When datestring contained no "/"
     if c.isInteger(date_array[1]) then
     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 c.isEmpty(date_array[3]) then
     elseif com.isEmpty(date_array[3]) then
     -- Datestring contained one "/"
     -- Datestring contained one "/"
     mn = months[tonumber(date_array[2])]
     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 = months[tonumber(date_array[2])]
     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 c.isEmpty(date_array[2]) then
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 c.isEmpty(date_array[3]) then
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 c.isEmpty(date_array[2]) then
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 c.isEmpty(date_array[3]) then
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 = c.getMonthnr(date_array[2])
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