Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Infobox/dates
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 default_error_category = "[[Category:Pages using infobox television with nonstandard dates]]" local p = {} function p.start_end_date_template_validation(frame) local args = getArgs(frame) local error_category = args.error_category or default_error_category local start_date = args.first_aired or args.released or args.airdate or args.release_date or args.airdate_overall if start_date then if not start_date:find("dtstart") then return error_category end end local end_date = args.last_aired if end_date then if not end_date:find("dtend") and end_date ~= "present" then return error_category end end end 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 = ' β<br />' 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)
Templates used on this page:
Template:Lua
(
edit
)
Template:Mlx
(
edit
)
Template:Para
(
edit
)
Template:Tlx
(
edit
)
Module:Arguments
(
edit
)
Module:Infobox/dates/doc
(
edit
)
Module:Template link general
(
edit
)