{{i}} Документація модуля[створити]
local M = {}
local dt = require('Module:Datetime')

function M.JULIANDAY(frame)
    local year = tonumber(frame.args[1])
    local month = tonumber(frame.args[2] or 1)
    local day = tonumber(frame.args[3] or 1)
    local hour = tonumber(frame.args[4] or 12)
    local minute = tonumber(frame.args[5] or 0)
    local second = tonumber(frame.args[6] or 0)
    return dt.JD(year, month, day, hour, minute, second)
end

--
function M.CURRENTJULIANDAY()
    return dt.JD(now.year, now.month, now.day, now.hour, now.min, now.sec)
end

--
function M.GregorianSerialDate(frame)
    local date = {}
    date.year = tonumber(frame.args[1]) or tonumber(frame.args.year) or now.year
    date.month = tonumber(frame.args[2]) or tonumber(frame.args.month) or now.month
    date.day = tonumber(frame.args[3]) or tonumber(frame.args.day) or now.day
    return dt.GregorianSerial(date)
end

function M.StrDateToLink(frame)
    local date = dt.StringToDate(--[[mw.text.decode]](frame.args[1]))
    if date then
        return dt.DateToLink(date)
    else
        error('Незрозуміла дата -' .. frame.args[1])
    end    
end

function M.IsNumericalDate(frame)
    local date = dt.StringToDate(frame.args[1], 'ц')
    if date then
        return true
    else
        return false
    end
end

return M