Inicio
Al azar
Acceder
Configuración
Acerca de Wiki TVenserio
Descargos
Wiki TVenserio
Buscar
Edición de «
Módulo:Wikidata/Fecha
»
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 p = {} local Fechas = require( 'Módulo:Fechas') local Romanos = require('Módulo:Números').Romano local enlace local function enlazar(etiqueta) if enlace == 'no' then return etiqueta else return '[['.. etiqueta ..']]' end end function formatear(fechahora, opciones) if opciones['formatoFecha'] == 'timestamp' then return fechahora.time end if fechahora == nil then return 'desconocida' end local etiqueta = fechahora.label local timestamp = fechahora.time local precision = fechahora.precision -- Decodificar el timestamp. --if true then return timestamp end local signo, annoSinSigno, mes, dia = timestamp:match("(%W)(%d+)%-(%d+)%-(%d+)") annoSinSigno = tonumber(annoSinSigno) -- Obtener la era local era = '' if signo == '-' then era = ' a. C.' annoConSigno = - annoSinSigno elseif annoSinSigno == 0 then -- Por comprobar si aún es así. annoSinSigno = 1 annoConSigno = -1 era = ' a. C.' else annoConSigno = annoSinSigno end -- Informar el calendario local calendario local mostrarCalendario = '' if fechahora.calendarmodel == 'http://www.wikidata.org/entity/Q1985786' then calendario = 'juliano' mostrarCalendario = '<sup>juliano</sup>' else calendario = 'gregoriano' end -- Informar el enlace utilizado en la función enlazar. OJO: No debe definirse como local enlace = opciones.enlace if precision == 11 then -- Fecha de la que se conoce el año, el mes y el día if opciones['formatoFecha'] == 'año' then return enlazar(annoSinSigno) .. mostrarCalendario .. era -- Devolver solo el año else return Fechas.Fecha({dia,mes,annoConSigno;enlace=opciones.enlace;calendario=calendario;['mayúscula']=opciones['mayúscula']}) end elseif precision == 10 then -- Fecha de la que se conoce el año y el mes if opciones['formatoFecha'] == 'año' then return enlazar(annoSinSigno) .. mostrarCalendario .. era -- Devolver solo el año else return Fechas.Fecha({'',mes,annoConSigno;enlace=opciones.enlace;calendario=calendario;['mayúscula']=opciones['mayúscula']}) end elseif precision == 9 then -- Fecha de la que se conoce el año return Fechas.Fecha({'','',annoConSigno;enlace=opciones.enlace;calendario=calendario;['mayúscula']=opciones['mayúscula']}) elseif precision == 8 then -- Fecha de la que se conoce la década local decada = math.floor(annoSinSigno/10)*10 return enlazar('años '.. decada .. era) .. mostrarCalendario elseif precision == 7 then -- Fecha de la que se conoce el siglo --Ejemplos: -- Eleno de Céspedes +1600-00-00T00:00:00Z --> siglo XVI -- Margarita Armand Ugón +1901-00-00T00:00:00Z --> siglo XX -- Aéropo I -0700-01-01T00:00:00Z --> siglo VII a. C. -- -0600-01-01T00:00:00Z --> siglo VI a. C. local siglo = Romanos(math.floor((annoSinSigno - 1)/100) + 1) if opciones['mayúscula'] == 'sí' then return enlazar('Siglo ' .. siglo .. era) .. mostrarCalendario else return enlazar('siglo ' .. siglo .. era) .. mostrarCalendario end elseif precision == 6 then -- Fecha de la que se conoce el milenio local milenio = Romanos(math.floor(annoSinSigno/1000)) return enlazar(milenio .. ' milenio'.. era).. mostrarCalendario elseif precision == 5 then -- Fecha de la que se conoce 10 000 años local milenio = Romanos(math.floor(annoSinSigno/1000)) return enlazar(milenio .. ' milenio'.. era) elseif precision == 4 then -- Fecha de la que se conoce 100 000 años local milenio = Romanos(math.floor(annoSinSigno/1000)) return enlazar(milenio.. ' milenio'.. era) elseif precision == 3 then -- Fecha de la que se conoce los millones de años return math.floor(annoSinSigno/1000000) .. ' millones de años' .. era elseif precision == 2 then -- Fecha de la que se conoce los 10 millones de años return math.floor(annoSinSigno/1000000) .. ' millones de años' .. era elseif precision == 1 then -- Fecha de la que se conoce los 100 millones de años return math.floor(annoSinSigno/1000000) .. ' millones de años' .. era else return "<span class=error>Tipo de dato desconocido.</span>" end end function p.FormateaFechaHora(fechahora, opciones, calificativos) local idCircunstancia if calificativos and calificativos["P1480"] and -- circunstancias de la referencia calificativos["P1480"][1] and calificativos["P1480"][1]['datavalue'] and calificativos["P1480"][1]['datavalue']['value'] then idCircunstancia = calificativos["P1480"][1]['datavalue']['value']['numeric-id'] if idCircunstancia == 5727902 then -- circa return '[[circa|c.]] ' .. formatear(fechahora, opciones) end end -- Valor por defecto si no se ha sabido formatear usando el calificativo return formatear(fechahora, opciones) end return p
Resumen:
Ten en cuenta que todas las contribuciones a Wiki TVenserio pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, 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 (véase
Wiki TVenserio:Derechos de autor
para más detalles).
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Plantilla usada en esta página:
Módulo:Wikidata/Fecha/doc
(
editar
)