82.367
Bearbeitungen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
function p.dateParser(s, year) | function p.dateParser(s, year) | ||
dates = str.split(s, "-") | local start_date, end_date = p.splitDateString(s, year) | ||
--[[Jetzt müssen die gesplitteten Datum vervollständigt werden. Kann ja | |||
sein, daß etwas wie 6. - 10. Januar angegeben ist. Und das Jahr, wenn nicht | |||
gegeben, muß auch aus dem year entnommen werden können.]] | |||
local sd = str.split(start_date, ' ') | |||
if end_date then | |||
local ed = str.split(end_date, ' ') | |||
-- Wenn das End-Datum kein Jahr enthält, füge es aus year hinzu | |||
if c.len(ed) == 2 then | |||
ed[3] = year | |||
end_date = end_date .. " " .. ed[3] | |||
end | |||
if c.len(sd) == 2 then | |||
start_date = start_date .. " " .. ed[3] | |||
elseif c.len(sd) == 1 then | |||
start_date = start_date .. " " .. ed[2] .. " " .. ed[3] | |||
end | |||
else | |||
if c.len(sd) == 2 then | |||
sd[3] = year | |||
start_date = start_date .. " " .. sd[3] | |||
end | |||
end | |||
return start_date, end_date | |||
end | |||
function p.splitDateString(s) | |||
-- Teilt ein von/bis Datum in Start- und End-Datum auf. | |||
local dates = str.split(s, "-") | |||
-- Wenn splitten mit "-" nur ein Ergebnis bringt, splitte mit "bis" | -- Wenn splitten mit "-" nur ein Ergebnis bringt, splitte mit "bis" | ||
if c.len(dates) == 1 then | if c.len(dates) == 1 then | ||
| Zeile 10: | Zeile 40: | ||
end | end | ||
-- Alle Leerzeichen links und rechts in den Ergebnissen entfernen | -- Alle Leerzeichen links und rechts in den Ergebnissen entfernen | ||
for i, | for i, v in ipairs(dates) do | ||
dates[i] = str.strip(dates[i]) | dates[i] = str.strip(dates[i]) | ||
end | end | ||
return dates[1], dates[2] | |||
return dates[1], dates[2] | |||
end | end | ||
return p | return p | ||