Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Infobox/dates/sandbox
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local getArgs = require('Module:Arguments').getArgs local p = {} function p.dates(frame) local returnval; local args = getArgs(frame); if table.getn(args) < 2 then if args['1'] == nil and args['2'] == nil then return ''; elseif args['1'] == nil then return args['2']; elseif args['2'] == nil then return args['1']; end end args['1'] = args['1']:gsub(" "," "); args['2'] = args['2']:gsub(" "," "); local dmy = false; local pr1, m1, d1, y1, su1 = string.match(args['1'], '(.-)(%u%a+)%s(%d+),%s(%d+)(.*)'); local pr2, m2, d2, y2, su2 = string.match(args['2'], '(.-)(%u%a+)%s(%d+),%s(%d+)(.*)'); if y1 == nil then dmy = true; pr1, d1, m1, y1, su1 = string.match(args['1'], '(.-)(%d%d?)%s(%a+)%s(%d+)(.*)'); pr2, d2, m2, y2, su2 = string.match(args['2'], '(.-)(%d%d?)%s(%a+)%s(%d+)(.*)'); end local dash = ' β '; if y1 ~= nil and y2 ~= nil then su1 = su1 or ''; su2 = su2 or ''; local MONTHS = {January=1, February=2, March=3, April=4, May=5, June=6, July=7, August=8, September=9, October=10, November=11, December=12}; local diff = os.time({year=y2,month=MONTHS[m2],day=d2,hour=0,min=0,sec=0})-os.time({year=y1,month=MONTHS[m1],day=d1,hour=0,min=0,sec=0}); if diff < 0 then returnval = 'Invalid date range'; else if y1 == y2 then if dmy == false then returnval = pr1..m1..' '..d1..su1..dash..pr2..m2..' '..d2..', '..y2..su2; else returnval = pr1..d1..' '..m1..su1..dash..pr2..d2..' '..m2..' '..y2..su2; end else if dmy == false then returnval = pr1..m1..' '..d1..', '..y1..su1..dash..pr2..m2..' '..d2..', '..y2..su2; else returnval = pr1..d1..' '..m1..' '..y1..su1..dash..pr2..d2..' '..m2..' '..y2..su2; end end end else returnval = args['1']..dash..args['2']; end return returnval; end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Infobox/dates/sandbox/doc
(
edit
)