Modul:Date: Diferență între versiuni
Aspect
Conținut șters Conținut adăugat
if no date, we're done (fixes incomplete date for {{f|Infocaseta Județe}}) |
+julianFormat if different from gregorian date format |
||
Linia 9: | Linia 9: | ||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local dateObj = {} |
local dateObj = {} |
||
local dateFormat = args['format'] or args['date_format'] or args['dateFormat'] or args['format_dată'] |
|||
local julianFormat = args['julian_format'] or args['julianFormat'] or args['format_iulian'] |
|||
if args[1] then |
if args[1] then |
||
dateObj = DateUtils.parseDate(args[1]) |
dateObj = DateUtils.parseDate(args[1]) |
||
Linia 34: | Linia 36: | ||
end |
end |
||
end |
end |
||
return GregorianDate.displayDualDateIfInInterval(dateObj, link, |
return GregorianDate.displayDualDateIfInInterval(dateObj, link, dateFormat, julianFormat) |
||
end |
end |
||
Versiunea curentă din 2 aprilie 2024 10:51
Utilizează Lua: |
Utilizează Lua: |
Implementează {{Dată}}.
local DateUtils = require('Modul:DateUtils')
local GregorianDate = require('Modul:GregorianDate')
local julianCutoffDate = require('Modul:GregorianDate/data').julianDateOfGregorianStart
local getArgs = require('Modul:Arguments').getArgs
local months = mw.loadData('Modul:DateUtils/data').months
local p = {}
p.formatDateFromFrame = function(frame)
local args = getArgs(frame)
local dateObj = {}
local dateFormat = args['format'] or args['date_format'] or args['dateFormat'] or args['format_dată']
local julianFormat = args['julian_format'] or args['julianFormat'] or args['format_iulian']
if args[1] then
dateObj = DateUtils.parseDate(args[1])
else
return ""
end
if args[2] then
dateObj.month = tonumber(months[args[2]] or args[2])
if args[3] then dateObj.day = tonumber(args[3]) end
end
dateObj.calendar = args.calendar or DateUtils.compare(dateObj, julianCutoffDate) < 0 and 'julian' or 'gregorian'
if not dateObj.precision then
dateObj.precision = 9
end
local link = args['link']
if args['link'] == 'yes' or args['link'] == 'y' then
link = 'both'
end
if args[2] ~= nil then
dateObj.precision = 10
if args[3] ~= nil then
dateObj.precision = 11
end
end
return GregorianDate.displayDualDateIfInInterval(dateObj, link, dateFormat, julianFormat)
end
return p