| Contenidos de Wikipedia en español bajo licencia CC BY-SA 4.0 ⇔ Mapas de OpenStreetMap bajo licencia ODbL |
Diferencia entre revisiones de «Módulo:Fechas»
De Hispanopedia
Sin resumen de edición |
Hacer que funcione el enlace. Hay que llamar a la función fecha con enlace=no sin las comillas |
||
| Línea 20: | Línea 20: | ||
local argumentos = {} | local argumentos = {} | ||
local parent = {} | local parent = {} | ||
if frame == mw.getCurrentFrame() then | if frame == mw.getCurrentFrame() then | ||
if frame.args[3] or frame.args["año"] then | if frame.args[3] or frame.args["año"] then | ||
| Línea 31: | Línea 30: | ||
argumentos = frame | argumentos = frame | ||
end | 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. | -- Obtener el día, el nombre del mes y el año incluyendo para los años negativos a.d. | ||
| Línea 66: | Línea 62: | ||
elseif anyo ~= 0 then | elseif anyo ~= 0 then | ||
if enlace then | if enlace then | ||
return '[[' .. anyo .. ']]' | return '[[' .. anyo .. ']]' .. argumentos["enlace"] | ||
else | else | ||
return anyo | return anyo | ||
Revisión del 22:41 20 feb 2014
Uso
Este módulo proporciona operaciones sobre fechas.
Funciones
fecha
Formatea una fecha. Sintaxis:
{{#Invoke:Fechas|fecha|<día>|<mes>|<año>}}- Parámetros
- enlace:
- calendario: si toma el valor "juliano"
- mayúscula: si debe poner la fecha en mayúsculas
- Ejemplos
{{#Invoke:Fechas|Fecha|01|04|010}}→ 1 de abril de 10{{#Invoke:Fechas|Fecha|2|4|2010}}→ 2 de abril de 2010{{#Invoke:Fechas|Fecha||02|-1980}}→ febrero de 1980 a. C.{{#Invoke:Fechas|Fecha||enero|0980}}→ enero de 980{{#Invoke:Fechas|Fecha|||-0980|enlace=no}}→ 980 a. C.{{#Invoke:Fechas|Fecha||enero|0980|mayúscula=sí}}→ enero de 980{{#Invoke:Fechas|Fecha}}→{{#Invoke:Fechas|Fecha|1=|2=|3=}}→{{#Invoke:Fechas|Fecha|26|4|1564|calendario=juliano}}→ 26 de abril de 1564
numérica
Convierte una fecha tipo «día de mes de año» en una cadena numérica.
- Ejemplos
{{#invoke:Fechas|Numerica|24 de diciembre de 2014}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|24 de diciembre del 2014}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|4 de Enero de 1913}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|2 de MARZO de 14}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|2 de septiembre de 1976}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|20141224}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|15 de setiembre de 1976Cualquier cosa}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|Cualquier cosa}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|dd}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.{{#invoke:Fechas|Numerica|2 de turrón de 1880}}→ Error en la secuencia de órdenes: la función «Numerica» no existe.
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) -- 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
-- 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 .. ']]'
else
return dia .. ' de ' .. mes .. ' de ' .. anyo
end
elseif mes~='' then
if enlace then
return '[[' .. mes .. ']] de [[' .. anyo .. ']]'
else
return mes .. ' de ' .. anyo
end
elseif anyo ~= 0 then
if enlace then
return '[[' .. anyo .. ']]' .. argumentos["enlace"]
else
return anyo
end
end
end
return z