Изменения
Перейти к навигации
Перейти к поиску
Строка 4:
Строка 4:
+
+
Строка 90:
Строка 92:
+
+
+
+
+
+
+
+
+
Строка 359:
Строка 370:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
новая функция ввода (вывод отрицательных величин пока неверный)
local bool_to_number={ [true]=1, [false]=0 }
local bool_to_number={ [true]=1, [false]=0 }
local monthlang = {"января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"}
local monthlang = {"января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"}
local griglist = {"г", "g"}
local julilist = {"ю", "j"}
local function purif(str)
local function purif(str)
-- more detailed check for 31.02.0000 needed
-- more detailed check for 31.02.0000 needed
-- check for other calendars needed
-- check for other calendars needed
end
local islist = function ( var, list )
local n = #list
local inlist = false
for i=1,n do
if var == list[i] then inlist = true end
end
return inlist
end
end
local gdate = numstr2date(datein)
local gdate = numstr2date(datein)
local jdate = jd2jul(gri2jd(gdate))
local jdate = jd2jul(gri2jd(gdate))
local output = twodates2str(jdate, gdate)
return output
end
-- =p.OldDate(mw.getCurrentFrame():newChild{title="smth",args={"20.02.2020"}})
function p.OldDate( frame )
local args = getArgs(frame, { frameOnly = true })
local gdate, jdate = {}
local strin = args[1]
local calinp = ""
local era = ""
if not args[2] then calinp = "г" else calinp = args[2]:lower() end
if not args[3] then era = "нэ" else era = args[3]:lower() end
local datein = numstr2date(strin)
if era == "нэ" then
if islist(calinp,griglist) then
gdate = datein
jdate = jd2jul(gri2jd(gdate))
elseif islist(calinp,julilist) then
jdate = datein
gdate = jd2gri(jul2jd(jdate))
else error("Second argument must be 'g' or 'j'")
end
elseif era == "днэ" then
local negyear = datein.year
datein.year = 1 - negyear
if islist(calinp,griglist) then
gdate = datein
jdate = jd2jul(gri2jd(gdate))
elseif islist(calinp,julilist) then
jdate = datein
gdate = jd2gri(jul2jd(jdate))
else error("Second argument must be 'g' or 'j'")
end
end
local output = twodates2str(jdate, gdate)
local output = twodates2str(jdate, gdate)
return output
return output