Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Portada
mantenimiento
Páginas nuevas
Página aleatoria
Cambios recientes
Páginas especiales
Ayuda
Comunidad
Portal de la comunidad
Centro de reportes
Tablón de solicitudes
Tutorial de edición
Políticas
Buscar
Buscar
Apariencia
Crear una cuenta
Acceder
Herramientas personales
Crear una cuenta
Acceder
Páginas para editores desconectados
más información
Contribuciones
Discusión
Edición de «
Módulo:Fechas
»
Módulo
Discusión
English
Leer
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar código
Ver historial
Actualizar
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Enlace corto
En otros proyectos
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
local z = {} local meses = { 'enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre'} function z.NombreDelMes(mes) -- Función que devuelve el nombre del mes, donde mes es un número entre 1 y 12. -- Si no es así se devuelve el valor de mes. -- Por ejemplo, 2 --> febrero -- 02 --> febrero -- abril --> abril -- MAYO --> MAYO return meses[tonumber(mes)] or mes end function z.Fecha(frame) -- Función que formatea una fecha -- El único parámetro obligatorio es el año o 3. -- Obtener los argumentos con los que se llama a la función local argumentos = {} local parent = {} if frame == mw.getCurrentFrame() then if frame.args[3] or frame.args["año"] then argumentos = frame.args else parent = frame:getParent() argumentos = parent.args end else argumentos = frame end local enlace = argumentos["enlace"] ~= "no" -- Obtener el día, el nombre del mes y el año incluyendo para los años negativos a.d. local dia = argumentos["día"] or argumentos[1] or '' if dia ~='' then dia=tonumber(dia) or dia -- Eliminar ceros a la izquierda del día. end local mes = argumentos["mes"] or argumentos[2] or '' if mes~='' then mes =meses[tonumber(mes)] or mes end local anyo=tonumber(argumentos["año"] or argumentos[3]) or 0 if anyo < 0 then anyo = -anyo .. ' a. C.' end local calendario = '' if argumentos["calendario"] == 'juliano' then calendario = '<sup>[[Calendario juliano|jul.]]</sup>' end -- Formatear la fecha dependiendo de si el día, el mes o el año están informados if dia ~='' then if enlace then return '[[' .. dia .. ' de ' .. mes .. ']] de [[' .. anyo .. ']]' .. calendario else return dia .. ' de ' .. mes .. ' de ' .. anyo .. calendario end elseif mes~='' then if argumentos["mayúscula"] == 'sí' then mes = mw.language.new('es'):ucfirst(mes) end if enlace then return '[[' .. mes .. ']] de [[' .. anyo .. ']]' else return mes .. ' de ' .. anyo end elseif anyo ~= 0 then if enlace then return '[[' .. anyo .. ']]' else return tostring(anyo) end end end function getNumeroMes(nombreMes) local numeroMes = '' local nombreMeses = { ['01'] = 'enero', ['02'] = 'febrero', ['03'] = 'marzo', ['04'] = 'abril', ['05'] = 'mayo', ['06'] = 'junio', ['07'] = 'julio', ['08'] = 'agosto', ['09'] = 'septiembre', ['9'] = 'setiembre', ['10'] = 'octubre', ['11'] = 'noviembre', ['12'] = 'diciembre' } for k, n in pairs(nombreMeses) do if nombreMeses[k] == mw.ustring.lower(nombreMes) then numeroMes = k end end if numeroMes == nil or numeroMes == '' then numeroMes = '00' end return numeroMes end function setString(cadena) local dia, mes, anno local error = '<strong class="error">Cadena de fecha no válida</strong>' local valorDia = mw.ustring.gsub(cadena,'(%d+) de %a+ del? %d+.*','%1') if valorDia == nil or valorDia == '' or mw.ustring.len(valorDia) > 2 or type(tonumber(valorDia)) ~= 'number' then return error else dia = mw.ustring.format('%02d', tonumber(valorDia)) end local valorMes = getNumeroMes(mw.ustring.gsub(cadena,'%d+ de (%a+) del? %d+.*','%1')) if valorMes == '00' then return error else mes = mw.ustring.format('%02d',tonumber(valorMes)) end local valorAnno = mw.ustring.gsub(cadena,'%d+ de %a+ del? (%d+).*','%1') if valorAnno == nil or valorAnno == '' or type(tonumber(valorAnno)) ~= 'number' then return error else anno = mw.ustring.format('%04d',tonumber(valorAnno)) end local newCadena = anno..mes..dia return newCadena end function z.Numerica(frame) return setString(frame.args[1]) end return z
Resumen:
Ten en cuenta que todas las contribuciones a Netxipedia se consideran publicadas bajo la Creative Commons Atribución-CompartirIgual (véase
Netxipedia:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Módulo:Fechas
»
Añadir tema