אונטערשייד צווישן ווערסיעס פון "יחידה:דאטום"

149 בייטן צוגעלייגט ,  פֿאַר 2 יאָר
דיוק
(אפדעיט)
צייכן: צוריקגעשטעלט
(דיוק)
 
(7 מיטלסטע ווערסיעס פון 2 באַניצער נישט געוויזן.)
שורה 460: שורה 460:
end
end


local function stringsWithOnlyNumbers(inputArray)
local function extractNumbers(inputString)
  local resultArray = {}
    local numbers = inputString:match("^(%d+[%s%d-]*)")
 
     return numbers or ""
  for i, str in ipairs(inputArray) do
    if string.match(str, "^-?%d+$") then
      table.insert(resultArray, str)
     end
  end
 
  return resultArray
end
end


שורה 488: שורה 481:
-- Remove footnotes & directionality markers
-- Remove footnotes & directionality markers
wikitext = mw.text.killMarkers( wikitext )
wikitext = mw.text.killMarkers( wikitext )
wikitext = mw.ustring.gsub(wikitext, "‏", "")
wikitext = mw.ustring.gsub(wikitext, "‏","")
wikitext = mw.ustring.gsub(wikitext, "‎", "")
wikitext = mw.ustring.gsub(wikitext, "‎","")
wikitext = mw.ustring.gsub(wikitext, "", "") -- Removes unicode 0x200f; important for תאריך משולב
wikitext = mw.ustring.gsub(wikitext, ",","")
-- BC to minus
-- BC to minus
wikitext = mw.ustring.gsub( wikitext, "([0-9]+) לפנה[\"״]ס" , "-%1")
wikitext = mw.ustring.gsub( wikitext, "([0-9]+) לפנה[\"״]ס" , "-%1")
    wikitext = mw.ustring.gsub( wikitext, "([0-9]+) אא[\"״]ר" , "-%1")
    wikitext = mw.ustring.gsub( wikitext, "([0-9]+) בצ[\"״]ר" , "-%1")
    wikitext = mw.ustring.gsub( wikitext, "([0-9]+) פד[\"״]צ" , "-%1")


if mw.ustring.match(wikitext, '^המאה ה[־-]%d+$') then
if mw.ustring.match(wikitext, '^המאה ה[־-]%d+$') then
local yearStr = mw.ustring.match(wikitext, '^המאה ה[־-](%d+)$')
local yearStr = mw.ustring.match(wikitext, '^המאה ה[־-](%d+)$')
                return Date.new( { year=tonumber(yearStr)*100, month=0, day=0, precision= Date.PRECISION.YEAR100 } )
end
    if mw.ustring.match(wikitext, "%d+['ס]?ט[ען]ר? י") then
local yearStr = mw.ustring.match(wikitext, "(%d+)['ס]?ט[ען]ר? י")
                 return Date.new( { year=tonumber(yearStr)*100, month=0, day=0, precision= Date.PRECISION.YEAR100 } )
                 return Date.new( { year=tonumber(yearStr)*100, month=0, day=0, precision= Date.PRECISION.YEAR100 } )
end
end


local parts = mw.text.split(mw.text.trim(wikitext),' ')
local parts = mw.text.split(mw.text.trim(wikitext),' ')
parts = stringsWithOnlyNumbers(parts)
 
     local definition = {}
     local definition = {}
definition.calendar = calendar
definition.calendar = calendar
שורה 832: שורה 832:
-- remove footnotes
-- remove footnotes
dateRangeStr = mw.text.killMarkers(dateRangeStr)
dateRangeStr = mw.text.killMarkers(dateRangeStr)
dateRangeStr = mw.ustring.gsub(dateRangeStr, "‏", "")
dateRangeStr = mw.ustring.gsub(dateRangeStr, "‏","")
dateRangeStr = mw.ustring.gsub(dateRangeStr, "‏", "") -- Removes unicode 0x200f; important for תאריך משולב
    
    
local outputPrefix = ''
local outputPrefix = ''
שורה 842: שורה 841:
local t1 = Date.newFromWikitext( parts[1] )
local t1 = Date.newFromWikitext( parts[1] )
local t2
local t2
local useCurrent = #parts<2 or (parts[2] == 'היום' or parts[2]=='הווה' or parts[2]=='מתמשך')
local useCurrent = #parts<2 or (parts[2] == 'היינט' or parts[2]=='הווה' or parts[2]=='אנגייענד' or parts[2]=='איצט')
if not useCurrent then
if not useCurrent then
שורה 972: שורה 971:
str= mw.ustring.gsub(str,"כ(.+)","%1");
str= mw.ustring.gsub(str,"כ(.+)","%1");
str= mw.ustring.gsub(str,"־(.+)","%1");
str= mw.ustring.gsub(str,"־(.+)","%1");
str= mw.ustring.gsub(str," יאר","")
str= mw.ustring.gsub(str," יאָרן","")
if str == "שנתיים" then
if str == "שנתיים" then
str = 2
str = 2
שורה 979: שורה 978:
str = 1
str = 1
end
end
str = mw.ustring.gsub(str," שנה", "")
str = mw.ustring.gsub(str," יאָר", "")
local t = parseDateRange(frame.args[1], "raw", inclusive)
if tonumber(str) > 0 and
if tonumber(str) and tonumber(t) and tonumber(str) > 0 and tonumber(t) < 0 then
tonumber(parseDateRange(frame.args[1], "raw", inclusive)) < 0 then
str = -1 * str
str = -1 * str
end
end