ماژول:FarsiDate
توضیحات این پودمان میتواند در ماژول:FarsiDate/توضیحات قرار گیرد.
local getArgs = require('Module:Arguments').getArgs
local numConv = require('Module:Numeral converter').convert
local p = {}
local _solarMonths = {'فروردین ', 'اردیبهشت ', 'خرداد ', 'تیر ', 'مرداد ', 'شهریور ', 'مهر ', 'آبان ', 'آذر ', 'دی ', 'بهمن ', 'اسفند '}
local _gregorianMonths = {'ژانویه ', 'فوریه ', 'مارس ', 'آوریل ', 'مهٔ ', 'ژوئن ', 'ژوئیه ', 'آگوست ', 'سپتامبر ', 'اکتبر ', 'نوامبر ', 'دسامبر '}
local _solar = {["solar"] = true, ["شمسی"] = true}
function p.main(frame)
local args = getArgs(frame, {frameOnly=true})
return p.dateString(args[1], args[2], args[3], args[4])
end
function p.dateString(year, month, day, calendar)
-- Main module code goes here.
if _solar[calendar] then
months = _solarMonths
else
months = _gregorianMonths
end
local function toString()
if not month then
return numConv('mzn', year)
elseif not day then
return months[tonumber(numConv('en', month))] .. numConv('mzn', year)
else
return string.gsub(numConv('mzn', day), '^۰', '') .. ' ' .. months[tonumber(numConv('en', month))] .. numConv('mzn', year)
end
end
local success, result = pcall(toString)
if success then
return result
else
return '<span class="error">تاریخ ورودی نامعتبر هسته</span>'
end
end
return p