fbpx
Wikipedia

Módulo:Fechas/Sandbox

Este módulo no tiene página de documentación[crear]
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,campo)   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   if campo == 'dia' then return dia  elseif campo == 'mes' then return mes  elseif campo == 'anno' then return anno  else return anno..mes..dia  end   end   function z.Numerica(frame)  return setString(frame.args[1])  end   --Forma muy burda de obtener el año recortando la cadena numérica a los primeros 4 dígitos  function z.Anno(frame)  --Llamamos a la función setString() para convertir la cadena a número  return setString(frame.args[1],'anno')   end  return z 

módulo, fechas, sandbox, este, módulo, tiene, página, documentación, crear, módulo, fechas, sandbox, código, discusión, tests, comprobar, tests, subpáginas, enlaces, local, local, meses, enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, oct. Este modulo no tiene pagina de documentacion crear Modulo Fechas Sandbox codigo doc discusion tests comprobar tests subpaginas enlaces local z local meses enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre function z NombreDelMes mes Funcion que devuelve el nombre del mes donde mes es un numero entre 1 y 12 Si no es asi se devuelve el valor de mes Por ejemplo 2 gt febrero 02 gt febrero abril gt abril MAYO gt MAYO return meses tonumber mes or mes end function z Fecha frame Funcion que formatea una fecha El unico parametro obligatorio es el ano o 3 Obtener los argumentos con los que se llama a la funcion local argumentos local parent if frame mw getCurrentFrame then if frame args 3 or frame args ano then argumentos frame args else parent frame getParent argumentos parent args end else argumentos frame end local enlace argumentos enlace no Obtener el dia el nombre del mes y el ano incluyendo para los anos negativos a d local dia argumentos dia or argumentos 1 or if dia then dia tonumber dia or dia Eliminar ceros a la izquierda del dia end local mes argumentos mes or argumentos 2 or if mes then mes meses tonumber mes or mes end local anyo tonumber argumentos ano or argumentos 3 or 0 if anyo lt 0 then anyo anyo a C end local calendario if argumentos calendario juliano then calendario lt sup gt Calendario juliano jul lt sup gt end Formatear la fecha dependiendo de si el dia el mes o el ano estan 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 mayuscula si 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 campo local dia mes anno local error lt strong class error gt Cadena de fecha no valida lt strong gt local valorDia mw ustring gsub cadena d de a del d 1 if valorDia nil or valorDia or mw ustring len valorDia gt 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 if campo dia then return dia elseif campo mes then return mes elseif campo anno then return anno else return anno mes dia end end function z Numerica frame return setString frame args 1 end Forma muy burda de obtener el ano recortando la cadena numerica a los primeros 4 digitos function z Anno frame Llamamos a la funcion setString para convertir la cadena a numero return setString frame args 1 anno end return z Obtenido de https es wikipedia org w index php title Modulo Fechas Sandbox amp oldid 115510542, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos