Módulo:Fecha/zona de pruebas
La documentación para este módulo puede ser creada en Módulo:Fecha/zona de pruebas/doc
local p = {}
-- Cargar módulos
local ModuloArgumentos = require('Módulo:Argumentos')
local ModuloFormatos = require('Módulo:Wikidata/Formatos')
local elementoTabla = require('Módulo:Tablas').elemento
local propiedad = require('Módulo:Wikidata').propiedad
-- Declarar instancia de mw.language
local lang = mw.language.new('es')
-- Variables globales
local argumentos, Entidad
-- Cargar datos
local Datos = mw.loadData('Módulo:Fecha/datos')
local TimestampActual = os.time()
-- Función de inicialización
function init(frame)
-- :: Inicializardor
argumentos = ModuloArgumentos.obtenerArgumentosConValor(frame)
Entidad = mw.wikibase.getEntity(argumentos['id']) or mw.wikibase.getEntity(argumentos['entidad']) or {}
-- Parámetros posicionales
Uno = argumentos[1] or ''
Dos = argumentos[2] or ''
Tres = argumentos[3] or ''
Cuatro = argumentos[4] or ''
Cinco = argumentos[5] or ''
Seis = argumentos[6] or ''
-- Parámetros nombrados
ReqEdad = argumentos['edad'] or false
Link = argumentos['link'] or false
end
function p.Fecha(frame)
-- Llamar a la función de inicialización
init(frame)
--[[
La fecha de inicio (o de nacimiento) se obtiene en el siguiente orden:
* Parámetros |1=Año, |2=Mes y |3=Día (y |4=Año, |5=Mes y |6=Día)
Se extrae el año, mes y día
Se convierte a Timestamp a través de la función os.time()
Se formatea la fecha mediante la función mw.lang.formatDate (aunque me parece mejor usar la tabla de meses)
* Parámetros |1=Año-Mes-Día (y |2=Año-Mes-Día)
Idem para arriba, pero usando las funciones de string para extraer dichos datos
* Parámetros |1=10 de octubre de 1999
Devolver el valor tal cual
Se está determinando cómo obtener los datos desde Wikidata,
y si debe ser pertinente en esta función (pertinente para personas),
o bien hacerlo en una plantilla y función separadas.
--]]
local FechaInicio = (function()
if Uno:match('%d%d%d%d') and Dos:match('%d%d') and Tres:match('%d%d') then
local Timestamp = tostring(os.time({year=Uno, month=Dos, day=Tres}))
return lang:formatDate('%d de %B de %Y', Timestamp)
end
return Uno
end)()
return FechaInicio
end
return p