Module:Date

--[[

This module is intended for processing of date strings

]]

local date = {}

--[[ ISOyear

This function returns year part of date string.

Usage: Lua error at line 46: attempt to call local 'date' (a table value).

Parameters

   s: The date string 

If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function date.ISOyear( frame )

   local s = frame.args.s
   
   -- if empty string then return it
   if mw.ustring.len(s) == 0 then
       return s
   end
   
   -- if number then return it
   if tonumber( s ) then
       return mw.ustring.format('%04i', s)
   end
   
   -- otherwise use regular expression match
   s = mw.ustring.match( s, '(-?%d%d?%d?%d?)-' )
   if s then
      return mw.ustring.format('%04i', s)
   else
       return 
   end

end

return date