CINXE.COM
Module:Year in various calendars - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Year in various calendars - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"23f22801-c7fe-42f9-bb37-472c51832785","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Year_in_various_calendars","wgTitle":"Year in various calendars","wgCurRevisionId":1230626243,"wgRevisionId":1230626243,"wgArticleId":40254483,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipedia template-protected modules","Modules in beta","Templates generating hCalendars","Time, date and calendar modules"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Year_in_various_calendars","wgRelevantArticleId":40254483,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["templateeditor"],"wgRestrictionMove":["templateeditor"], "wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q14814969","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false, "wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface", "ext.cx.eventlogging.campaigns","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Year in various calendars - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Module:Year_in_various_calendars"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Module:Year_in_various_calendars"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Year_in_various_calendars rootpage-Module_Year_in_various_calendars skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AYear+in+various+calendars" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Module%3AYear+in+various+calendars" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AYear+in+various+calendars" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AYear+in+various+calendars" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Syntax" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Syntax"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Syntax</span> </div> </a> <ul id="toc-Syntax-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Parameters" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Parameters"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Parameters</span> </div> </a> <ul id="toc-Parameters-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Microformat" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Microformat"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Microformat</span> </div> </a> <ul id="toc-Microformat-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Adding_new_calendars" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Adding_new_calendars"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Adding new calendars</span> </div> </a> <ul id="toc-Adding_new_calendars-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Technical_details" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Technical_details"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Technical details</span> </div> </a> <button aria-controls="toc-Technical_details-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Technical details subsection</span> </button> <ul id="toc-Technical_details-sublist" class="vector-toc-list"> <li id="toc-calendarBox_class" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#calendarBox_class"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>calendarBox class</span> </div> </a> <ul id="toc-calendarBox_class-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-calendar_class" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#calendar_class"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>calendar class</span> </div> </a> <ul id="toc-calendar_class-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-calendarGroup_class" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#calendarGroup_class"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>calendarGroup class</span> </div> </a> <ul id="toc-calendarGroup_class-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Year in various calendars</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 35 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-35" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">35 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Year_in_other_calendars" title="وحدة:Year in other calendars – Arabic" lang="ar" hreflang="ar" data-title="وحدة:Year in other calendars" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-av mw-list-item"><a href="https://av.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Year_in_various_calendars" title="Модуль:Year in various calendars – Avaric" lang="av" hreflang="av" data-title="Модуль:Year in various calendars" data-language-autonym="Авар" data-language-local-name="Avaric" class="interlanguage-link-target"><span>Авар</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Year_in_various_calendars" title="ماژول:Year in various calendars – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:Year in various calendars" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:Year_in_various_calendars" title="Modul:Year in various calendars – Balinese" lang="ban" hreflang="ban" data-title="Modul:Year in various calendars" data-language-autonym="Basa Bali" data-language-local-name="Balinese" class="interlanguage-link-target"><span>Basa Bali</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:%E0%A6%AC%E0%A6%BF%E0%A6%AD%E0%A6%BF%E0%A6%A8%E0%A7%8D%E0%A6%A8_%E0%A6%AA%E0%A6%9E%E0%A7%8D%E0%A6%9C%E0%A6%BF%E0%A6%95%E0%A6%BE%E0%A6%AF%E0%A6%BC_%E0%A6%AC%E0%A6%9B%E0%A6%B0" title="মডিউল:বিভিন্ন পঞ্জিকায় বছর – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:বিভিন্ন পঞ্জিকায় বছর" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:Year_in_other_calendars" title="Module:Year in other calendars – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:Year in other calendars" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Modul:Godina_u_drugim_kalendarima" title="Modul:Godina u drugim kalendarima – Bosnian" lang="bs" hreflang="bs" data-title="Modul:Godina u drugim kalendarima" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-bxr mw-list-item"><a href="https://bxr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Year_in_various_calendars" title="Модуль:Year in various calendars – Russia Buriat" lang="bxr" hreflang="bxr" data-title="Модуль:Year in various calendars" data-language-autonym="Буряад" data-language-local-name="Russia Buriat" class="interlanguage-link-target"><span>Буряад</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D9%85%D9%88%D8%AF%D9%88%D9%84:Year_in_various_calendars" title="مودول:Year in various calendars – Moroccan Arabic" lang="ary" hreflang="ary" data-title="مودول:Year in various calendars" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Year_in_other_calendars" title="پودمان:Year in other calendars – Persian" lang="fa" hreflang="fa" data-title="پودمان:Year in other calendars" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:Year_in_various_calendars" title="मॉड्यूल:Year in various calendars – Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:Year in various calendars" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:Year_in_other_calendars" title="Modul:Year in other calendars – Indonesian" lang="id" hreflang="id" data-title="Modul:Year in other calendars" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%AE%E0%B2%BE%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:Year_in_various_calendars" title="ಮಾಡ್ಯೂಲ್:Year in various calendars – Kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:Year in various calendars" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Modulis:Year_in_other_calendars" title="Modulis:Year in other calendars – Latvian" lang="lv" hreflang="lv" data-title="Modulis:Year in other calendars" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Year_in_various_calendars" title="Модул:Year in various calendars – Macedonian" lang="mk" hreflang="mk" data-title="Модул:Year in various calendars" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%98%E0%B4%9F%E0%B4%95%E0%B4%82:Year_in_various_calendars" title="ഘടകം:Year in various calendars – Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:Year in various calendars" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97:Year_in_various_calendars" title="विभाग:Year in various calendars – Marathi" lang="mr" hreflang="mr" data-title="विभाग:Year in various calendars" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-arz mw-list-item"><a href="https://arz.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Year_in_other_calendars" title="وحدة:Year in other calendars – Egyptian Arabic" lang="arz" hreflang="arz" data-title="وحدة:Year in other calendars" data-language-autonym="مصرى" data-language-local-name="Egyptian Arabic" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-cdo mw-list-item"><a href="https://cdo.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Year_in_various_calendars" title="模組:Year in various calendars – Mindong" lang="cdo" hreflang="cdo" data-title="模組:Year in various calendars" data-language-autonym="閩東語 / Mìng-dĕ̤ng-ngṳ̄" data-language-local-name="Mindong" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-ngṳ̄</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:Year_in_various_calendars" title="Modul:Year in various calendars – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Modul:Year in various calendars" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a href="https://or.wikipedia.org/wiki/%E0%AC%AE%E0%AC%A1%E0%AD%8D%E0%AD%9F%E0%AD%81%E0%AC%B2:Year_in_various_calendars" title="ମଡ୍ୟୁଲ:Year in various calendars – Odia" lang="or" hreflang="or" data-title="ମଡ୍ୟୁଲ:Year in various calendars" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="Odia" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Modul:Year_in_various_calendars" title="Modul:Year in various calendars – Uzbek" lang="uz" hreflang="uz" data-title="Modul:Year in various calendars" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Year_in_other_calendars" title="ਮੌਡਿਊਲ:Year in other calendars – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Year in other calendars" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-rue mw-list-item"><a href="https://rue.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Year_in_various_calendars" title="Модуль:Year in various calendars – Rusyn" lang="rue" hreflang="rue" data-title="Модуль:Year in various calendars" data-language-autonym="Русиньскый" data-language-local-name="Rusyn" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-sat mw-list-item"><a href="https://sat.wikipedia.org/wiki/%E1%B1%A2%E1%B1%B3%E1%B1%B0%E1%B1%A9%E1%B1%9E:Year_in_various_calendars" title="ᱢᱳᱰᱩᱞ:Year in various calendars – Santali" lang="sat" hreflang="sat" data-title="ᱢᱳᱰᱩᱞ:Year in various calendars" data-language-autonym="ᱥᱟᱱᱛᱟᱲᱤ" data-language-local-name="Santali" class="interlanguage-link-target"><span>ᱥᱟᱱᱛᱟᱲᱤ</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a href="https://sco.wikipedia.org/wiki/Module:Year_in_various_calendars" title="Module:Year in various calendars – Scots" lang="sco" hreflang="sco" data-title="Module:Year in various calendars" data-language-autonym="Scots" data-language-local-name="Scots" class="interlanguage-link-target"><span>Scots</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:%E0%B6%9C%E0%B7%8A%E2%80%8D%E0%B6%BB%E0%B7%99%E0%B6%9C%E0%B6%BB%E0%B7%92_%E0%B6%AF%E0%B7%92%E0%B6%B1%E0%B6%AF%E0%B7%83%E0%B7%94%E0%B6%B1%E0%B7%9A_%E0%B7%80%E0%B6%BB%E0%B7%8A%E0%B7%82%E0%B6%BA%E0%B6%B1%E0%B7%8A_%E0%B7%80%E0%B7%99%E0%B6%B1%E0%B6%AD%E0%B7%8A_%E0%B6%AF%E0%B7%92%E0%B6%B1%E0%B6%AF%E0%B7%83%E0%B7%94%E0%B6%B1%E0%B7%8A%E0%B7%80%E0%B6%BD%E0%B7%92%E0%B6%B1%E0%B7%8A" title="Module:ග්රෙගරි දිනදසුනේ වර්ෂයන් වෙනත් දිනදසුන්වලින් – Sinhala" lang="si" hreflang="si" data-title="Module:ග්රෙගරි දිනදසුනේ වර්ෂයන් වෙනත් දිනදසුන්වලින්" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:Year_in_various_calendars" title="Module:Year in various calendars – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:Year in various calendars" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:Year_in_various_calendars" title="مۆدیوول:Year in various calendars – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:Year in various calendars" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:Year_in_various_calendars" title="Module:Year in various calendars – Tamil" lang="ta" hreflang="ta" data-title="Module:Year in various calendars" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:Year_in_other_calendars" title="มอดูล:Year in other calendars – Thai" lang="th" hreflang="th" data-title="มอดูล:Year in other calendars" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%A0%D1%96%D0%BA_%D0%B2_%D1%96%D0%BD%D1%88%D0%B8%D1%85_%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8F%D1%85" title="Модуль:Рік в інших календарях – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:Рік в інших календарях" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Year_in_various_calendars" title="ماڈیول:Year in various calendars – Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:Year in various calendars" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:Year_in_other_calendars" title="Mô đun:Year in other calendars – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:Year in other calendars" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:Year_in_various_calendars" title="Module:Year in various calendars – Chinese" lang="zh" hreflang="zh" data-title="Module:Year in various calendars" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q14814969#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Year_in_various_calendars" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Module_talk:Year_in_various_calendars" rel="discussion" class="mw-redirect" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Year_in_various_calendars"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:Year_in_various_calendars"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Year_in_various_calendars" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Year_in_various_calendars" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&oldid=1230626243" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Year_in_various_calendars&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AYear_in_various_calendars"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AYear_in_various_calendars"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Module%3AYear_in_various_calendars&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q14814969" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> <div id="mw-indicator-pp-default" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Protection_policy#template" title="This high-risk module is permanently template-protected to prevent vandalism"><img alt="Permanently protected module" src="//upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/20px-Template-protection-shackle.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/30px-Template-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/5/53/Template-protection-shackle.svg/40px-Template-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1237875617">.mw-parser-output .documentation,.mw-parser-output .documentation-metadata{border:1px solid #a2a9b1;background-color:#ecfcf4;clear:both}.mw-parser-output .documentation{margin:1em 0 0 0;padding:1em}.mw-parser-output .documentation-metadata{margin:0.2em 0;font-style:italic;padding:0.4em 1em}.mw-parser-output .documentation-startbox{padding-bottom:3px;border-bottom:1px solid #aaa;margin-bottom:1ex}.mw-parser-output .documentation-heading{font-weight:bold;font-size:125%}.mw-parser-output .documentation-clear{clear:both}.mw-parser-output .documentation-toolbar{font-style:normal;font-size:85%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .documentation,html.skin-theme-clientpref-night .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .documentation,html.skin-theme-clientpref-os .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}</style><div class="documentation-container" role="complementary" aria-labelledby="documentation-heading"> <div class="documentation"> <div class="documentation-startbox"> <span class="documentation-heading" id="documentation-heading"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png" decoding="async" width="50" height="22" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/75px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/100px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 2x" data-file-width="1792" data-file-height="800" /></span></span> Module documentation</span><span class="mw-editsection-like plainlinks">[<a href="/wiki/Module:Year_in_various_calendars/doc" title="Module:Year in various calendars/doc">view</a>] [<a href="/wiki/Special:EditPage/Module:Year_in_various_calendars/doc" title="Special:EditPage/Module:Year in various calendars/doc">edit</a>] [<a href="/wiki/Special:PageHistory/Module:Year_in_various_calendars/doc" title="Special:PageHistory/Module:Year in various calendars/doc">history</a>] [<a href="/wiki/Special:Purge/Module:Year_in_various_calendars" title="Special:Purge/Module:Year in various calendars">purge</a>]</span></div> <style data-mw-deduplicate="TemplateStyles:r1238436933">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}</style><table class="plainlinks ombox ombox-style" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/en/thumb/7/74/Ambox_warning_yellow.svg/40px-Ambox_warning_yellow.svg.png" decoding="async" width="40" height="35" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/7/74/Ambox_warning_yellow.svg/60px-Ambox_warning_yellow.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/7/74/Ambox_warning_yellow.svg/80px-Ambox_warning_yellow.svg.png 2x" data-file-width="386" data-file-height="334" /></span></span></td><td class="mbox-text"><b>This Lua module is used on <a class="external text" href="https://linkcount.toolforge.org/?project=en.wikipedia.org&page=Module%3AYear+in+various+calendars#transclusions">approximately 2,800 pages</a></b> and changes may be widely noticed. Test changes in the module's <a href="/wiki/Module:Year_in_various_calendars/sandbox" title="Module:Year in various calendars/sandbox">/sandbox</a> or <a href="/w/index.php?title=Module:Year_in_various_calendars/testcases&action=edit&redlink=1" class="new" title="Module:Year in various calendars/testcases (page does not exist)">/testcases</a> subpages, or in your own <a href="/wiki/Module:Sandbox" title="Module:Sandbox">module sandbox</a>. Consider discussing changes on the <a href="/wiki/Module_talk:Year_in_various_calendars" class="mw-redirect" title="Module talk:Year in various calendars">talk page</a> before implementing them.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span class="skin-invert" typeof="mw:File"><span><img alt="Beta" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Greek_lc_beta_icon.svg/19px-Greek_lc_beta_icon.svg.png" decoding="async" width="19" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Greek_lc_beta_icon.svg/29px-Greek_lc_beta_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Greek_lc_beta_icon.svg/38px-Greek_lc_beta_icon.svg.png 2x" data-file-width="48" data-file-height="100" /></span></span></td><td class="mbox-text">This module is rated as <a href="/wiki/Category:Modules_in_beta" title="Category:Modules in beta">beta</a>, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox mbox-small ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/30px-Lua-Logo.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/45px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/60px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></span></span></td><td class="mbox-text">This module depends on the following other modules:<div><ul><li><a href="/wiki/Module:Roman" title="Module:Roman">Module:Roman</a> (<a href="/wiki/Module:Roman/sandbox" title="Module:Roman/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:Ancient_Olympiads" title="Module:Ancient Olympiads">Module:Ancient Olympiads</a> (<a href="/wiki/Module:Ancient_Olympiads/sandbox" title="Module:Ancient Olympiads/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:Ancient_Egypt_era" title="Module:Ancient Egypt era">Module:Ancient Egypt era</a></li><li><a href="/wiki/Module:Ancient_Egypt_kings" title="Module:Ancient Egypt kings">Module:Ancient Egypt kings</a></li><li><a href="/wiki/Module:Armenian" title="Module:Armenian">Module:Armenian</a> (<a href="/wiki/Module:Armenian/sandbox" title="Module:Armenian/sandbox">sandbox</a>)</li><li><a href="/wiki/Module:British_regnal_year" title="Module:British regnal year">Module:British regnal year</a></li><li><a href="/wiki/Module:Japanese_calendar" title="Module:Japanese calendar">Module:Japanese calendar</a></li><li><a href="/wiki/Module:Arguments" title="Module:Arguments">Module:Arguments</a> (<a href="/wiki/Module:Arguments/sandbox" title="Module:Arguments/sandbox">sandbox</a>)</li></ul></div></td></tr></tbody></table> <table class="infobox vevent" style="width:22em"><caption style="font-size:125%"><span class="summary dtstart">2024 in various <a href="/wiki/Calendar_era" title="Calendar era">calendars</a></span></caption><tbody><tr><td><a href="/wiki/Gregorian_calendar" title="Gregorian calendar">Gregorian calendar</a></td><td>2024<br /><span style="font-family: serif;"><i>MMXXIV</i></span></td></tr><tr><td><a href="/wiki/Ab_urbe_condita" title="Ab urbe condita">Ab urbe condita</a></td><td>2777</td></tr><tr><td><a href="/wiki/Armenian_calendar" title="Armenian calendar">Armenian calendar</a></td><td>1473<br />ԹՎ ՌՆՀԳ</td></tr><tr><td><a href="/wiki/Assyrian_calendar" title="Assyrian calendar">Assyrian calendar</a></td><td>6774</td></tr><tr><td><a href="/wiki/Bah%C3%A1%CA%BC%C3%AD_calendar" title="Baháʼí calendar">Baháʼí calendar</a></td><td>180–181</td></tr><tr><td><a href="/wiki/Balinese_saka_calendar" title="Balinese saka calendar">Balinese saka calendar</a></td><td>1945–1946</td></tr><tr><td><a href="/wiki/Bengali_calendar" class="mw-redirect" title="Bengali calendar">Bengali calendar</a></td><td>1431</td></tr><tr><td><a href="/wiki/Berber_calendar" title="Berber calendar">Berber calendar</a></td><td>2974</td></tr><tr><td><a href="/wiki/Regnal_years_of_English_and_British_monarchs" title="Regnal years of English and British monarchs">British Regnal year</a></td><td>2 <a href="/wiki/Charles_III" title="Charles III">Cha. 3</a> – 3 <a href="/wiki/Charles_III" title="Charles III">Cha. 3</a></td></tr><tr><td><a href="/wiki/Buddhist_calendar" title="Buddhist calendar">Buddhist calendar</a></td><td>2568</td></tr><tr><td><a href="/wiki/Burmese_calendar" title="Burmese calendar">Burmese calendar</a></td><td>1386</td></tr><tr><td><a href="/wiki/Byzantine_calendar" title="Byzantine calendar">Byzantine calendar</a></td><td>7532–7533</td></tr><tr><td><a href="/wiki/Chinese_calendar" title="Chinese calendar">Chinese calendar</a></td><td><a href="/wiki/Sexagenary_cycle" title="Sexagenary cycle">癸卯</a>年 (Water <a href="/wiki/Rabbit_(zodiac)" title="Rabbit (zodiac)">Rabbit</a>)<br />4721 or 4514<br />    <i>— to —</i><br />甲辰年 (Wood <a href="/wiki/Dragon_(zodiac)" title="Dragon (zodiac)">Dragon</a>)<br />4722 or 4515</td></tr><tr><td><a href="/wiki/Coptic_calendar" title="Coptic calendar">Coptic calendar</a></td><td>1740–1741</td></tr><tr><td><a href="/wiki/Discordian_calendar" title="Discordian calendar">Discordian calendar</a></td><td>3190</td></tr><tr><td><a href="/wiki/Ethiopian_calendar" title="Ethiopian calendar">Ethiopian calendar</a></td><td>2016–2017</td></tr><tr><td><a href="/wiki/Hebrew_calendar" title="Hebrew calendar">Hebrew calendar</a></td><td>5784–5785</td></tr><tr><td><a href="/wiki/Hindu_calendar" title="Hindu calendar">Hindu calendars</a></td><td></td></tr><tr><td> - <i><a href="/wiki/Vikram_Samvat" title="Vikram Samvat">Vikram Samvat</a></i></td><td>2080–2081</td></tr><tr><td> - <i><a href="/wiki/Indian_national_calendar" title="Indian national calendar">Shaka Samvat</a></i></td><td>1945–1946</td></tr><tr><td> - <i><a href="/wiki/Kali_Yuga" title="Kali Yuga">Kali Yuga</a></i></td><td>5124–5125</td></tr><tr><td><a href="/wiki/Holocene_calendar" title="Holocene calendar">Holocene calendar</a></td><td>12024</td></tr><tr><td><a href="/wiki/Igbo_calendar" title="Igbo calendar">Igbo calendar</a></td><td>1024–1025</td></tr><tr><td><a href="/wiki/Iranian_calendars" title="Iranian calendars">Iranian calendar</a></td><td>1402–1403</td></tr><tr><td><a href="/wiki/Islamic_calendar" title="Islamic calendar">Islamic calendar</a></td><td>1445–1446</td></tr><tr><td><a href="/wiki/Japanese_calendar" title="Japanese calendar">Japanese calendar</a></td><td><a href="/wiki/Reiwa" class="mw-redirect" title="Reiwa">Reiwa</a> 6<br />(令和6年)</td></tr><tr><td><a href="/wiki/Javanese_calendar" title="Javanese calendar">Javanese calendar</a></td><td>1957–1958</td></tr><tr><td><a href="/wiki/Juche_calendar" title="Juche calendar">Juche calendar</a></td><td>113</td></tr><tr><td><a href="/wiki/Julian_calendar" title="Julian calendar">Julian calendar</a></td><td>Gregorian minus 13 days</td></tr><tr><td><a href="/wiki/Korean_calendar" title="Korean calendar">Korean calendar</a></td><td>4357</td></tr><tr><td><a href="/wiki/Minguo_calendar" class="mw-redirect" title="Minguo calendar">Minguo calendar</a></td><td><a href="/wiki/Taiwan" title="Taiwan">ROC</a> 113<br />民國113年</td></tr><tr><td><a href="/wiki/Nanakshahi_calendar" title="Nanakshahi calendar">Nanakshahi calendar</a></td><td>556</td></tr><tr><td><a href="/wiki/Thai_solar_calendar" title="Thai solar calendar">Thai solar calendar</a></td><td>2567</td></tr><tr><td><a href="/wiki/Tibetan_calendar" title="Tibetan calendar">Tibetan calendar</a></td><td>阴水兔年<br />(female Water-<a href="/wiki/Rabbit_(zodiac)" title="Rabbit (zodiac)">Rabbit</a>)<br />2150 or 1769 or 997<br />    <i>— to —</i><br />阳木龙年<br />(male Wood-<a href="/wiki/Dragon_(zodiac)" title="Dragon (zodiac)">Dragon</a>)<br />2151 or 1770 or 998</td></tr><tr><td><a href="/wiki/Unix_time" title="Unix time">Unix time</a></td><td>1704067200 – 1735689599</td></tr></tbody></table> <table class="infobox vevent" style="width:22em"><caption style="font-size:125%"><span class="summary dtstart">2024 in various <a href="/wiki/Calendar_era" title="Calendar era">calendars</a></span></caption><tbody><tr><td><a href="/wiki/Gregorian_calendar" title="Gregorian calendar">Gregorian calendar</a></td><td>2024<br /><span style="font-family: serif;"><i>MMXXIV</i></span></td></tr><tr><td><a href="/wiki/Ab_urbe_condita" title="Ab urbe condita">Ab urbe condita</a></td><td>2777</td></tr><tr><td><a href="/wiki/Armenian_calendar" title="Armenian calendar">Armenian calendar</a></td><td>1473<br />ԹՎ ՌՆՀԳ</td></tr><tr><td><a href="/wiki/Assyrian_calendar" title="Assyrian calendar">Assyrian calendar</a></td><td>6774</td></tr><tr><td><a href="/wiki/Bah%C3%A1%CA%BC%C3%AD_calendar" title="Baháʼí calendar">Baháʼí calendar</a></td><td>180–181</td></tr><tr><td><a href="/wiki/Balinese_saka_calendar" title="Balinese saka calendar">Balinese saka calendar</a></td><td>1945–1946</td></tr><tr><td><a href="/wiki/Bengali_calendar" class="mw-redirect" title="Bengali calendar">Bengali calendar</a></td><td>1431</td></tr><tr><td><a href="/wiki/Berber_calendar" title="Berber calendar">Berber calendar</a></td><td>2974</td></tr><tr><td><a href="/wiki/Regnal_years_of_English_and_British_monarchs" title="Regnal years of English and British monarchs">British Regnal year</a></td><td>2 <a href="/wiki/Charles_III" title="Charles III">Cha. 3</a> – 3 <a href="/wiki/Charles_III" title="Charles III">Cha. 3</a></td></tr><tr><td><a href="/wiki/Buddhist_calendar" title="Buddhist calendar">Buddhist calendar</a></td><td>2568</td></tr><tr><td><a href="/wiki/Burmese_calendar" title="Burmese calendar">Burmese calendar</a></td><td>1386</td></tr><tr><td><a href="/wiki/Byzantine_calendar" title="Byzantine calendar">Byzantine calendar</a></td><td>7532–7533</td></tr><tr><td><a href="/wiki/Chinese_calendar" title="Chinese calendar">Chinese calendar</a></td><td><a href="/wiki/Sexagenary_cycle" title="Sexagenary cycle">癸卯</a>年 (Water <a href="/wiki/Rabbit_(zodiac)" title="Rabbit (zodiac)">Rabbit</a>)<br />4721 or 4514<br />    <i>— to —</i><br />甲辰年 (Wood <a href="/wiki/Dragon_(zodiac)" title="Dragon (zodiac)">Dragon</a>)<br />4722 or 4515</td></tr><tr><td><a href="/wiki/Coptic_calendar" title="Coptic calendar">Coptic calendar</a></td><td>1740–1741</td></tr><tr><td><a href="/wiki/Discordian_calendar" title="Discordian calendar">Discordian calendar</a></td><td>3190</td></tr><tr><td><a href="/wiki/Ethiopian_calendar" title="Ethiopian calendar">Ethiopian calendar</a></td><td>2016–2017</td></tr><tr><td><a href="/wiki/Hebrew_calendar" title="Hebrew calendar">Hebrew calendar</a></td><td>5784–5785</td></tr><tr><td><a href="/wiki/Hindu_calendar" title="Hindu calendar">Hindu calendars</a></td><td></td></tr><tr><td> - <i><a href="/wiki/Vikram_Samvat" title="Vikram Samvat">Vikram Samvat</a></i></td><td>2080–2081</td></tr><tr><td> - <i><a href="/wiki/Indian_national_calendar" title="Indian national calendar">Shaka Samvat</a></i></td><td>1945–1946</td></tr><tr><td> - <i><a href="/wiki/Kali_Yuga" title="Kali Yuga">Kali Yuga</a></i></td><td>5124–5125</td></tr><tr><td><a href="/wiki/Holocene_calendar" title="Holocene calendar">Holocene calendar</a></td><td>12024</td></tr><tr><td><a href="/wiki/Igbo_calendar" title="Igbo calendar">Igbo calendar</a></td><td>1024–1025</td></tr><tr><td><a href="/wiki/Iranian_calendars" title="Iranian calendars">Iranian calendar</a></td><td>1402–1403</td></tr><tr><td><a href="/wiki/Islamic_calendar" title="Islamic calendar">Islamic calendar</a></td><td>1445–1446</td></tr><tr><td><a href="/wiki/Japanese_calendar" title="Japanese calendar">Japanese calendar</a></td><td><a href="/wiki/Reiwa" class="mw-redirect" title="Reiwa">Reiwa</a> 6<br />(令和6年)</td></tr><tr><td><a href="/wiki/Javanese_calendar" title="Javanese calendar">Javanese calendar</a></td><td>1957–1958</td></tr><tr><td><a href="/wiki/Juche_calendar" title="Juche calendar">Juche calendar</a></td><td>113</td></tr><tr><td><a href="/wiki/Julian_calendar" title="Julian calendar">Julian calendar</a></td><td>Gregorian minus 13 days</td></tr><tr><td><a href="/wiki/Korean_calendar" title="Korean calendar">Korean calendar</a></td><td>4357</td></tr><tr><td><a href="/wiki/Minguo_calendar" class="mw-redirect" title="Minguo calendar">Minguo calendar</a></td><td><a href="/wiki/Taiwan" title="Taiwan">ROC</a> 113<br />民國113年</td></tr><tr><td><a href="/wiki/Nanakshahi_calendar" title="Nanakshahi calendar">Nanakshahi calendar</a></td><td>556</td></tr><tr><td><a href="/wiki/Thai_solar_calendar" title="Thai solar calendar">Thai solar calendar</a></td><td>2567</td></tr><tr><td><a href="/wiki/Tibetan_calendar" title="Tibetan calendar">Tibetan calendar</a></td><td>阴水兔年<br />(female Water-<a href="/wiki/Rabbit_(zodiac)" title="Rabbit (zodiac)">Rabbit</a>)<br />2150 or 1769 or 997<br />    <i>— to —</i><br />阳木龙年<br />(male Wood-<a href="/wiki/Dragon_(zodiac)" title="Dragon (zodiac)">Dragon</a>)<br />2151 or 1770 or 998</td></tr><tr><td><a href="/wiki/Unix_time" title="Unix time">Unix time</a></td><td>1704067200 – 1735689599</td></tr></tbody></table> <p>This module produces the sidebar opposite displaying a given <a href="/wiki/Gregorian_calendar" title="Gregorian calendar">Gregorian</a> year in various different calendars. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading3"><h3 id="Syntax">Syntax</h3></div> <p><b>Simple</b> </p> <style data-mw-deduplicate="TemplateStyles:r1195917819">.mw-parser-output .pre-borderless{border:none}</style><pre class="pre">{{#invoke:Year in various calendars|main}}</pre> <p><b>All parameters</b> </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1195917819"><pre class="pre">{{#invoke:Year in various calendars|main |year=<i>(n)</i> |footnotes=<i>(footnotes)</i> |gregcal=<i>(article name)</i>}}</pre> <div class="mw-heading mw-heading3"><h3 id="Parameters">Parameters</h3></div> <dl><dt>year</dt> <dd>Number specifying the year to be displayed. This can be negative and also can be in the format "<i>n BC</i>" to display BC dates or "<i>AD n</i>" as an alternative to a positive number. If not specified, the current year is used.</dd> <dt>footnotes</dt> <dd>Any footnotes to be placed at the bottom of the sidebar.</dd> <dt>gregcal</dt> <dd>Name of an article to be displayed for Gregorian and Julian years (e.g. "2000 BC"). Do not include square brackets.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="Microformat">Microformat</h3></div> The <a href="/wiki/Help:HTML_in_wikitext" title="Help:HTML in wikitext">HTML mark-up</a> produced by this template includes an <a href="/wiki/HCalendar_microformat" class="mw-redirect" title="HCalendar microformat">hCalendar microformat</a> that makes event/date details readily <a href="/wiki/Parsing" title="Parsing">parsable</a> by computer programs. This aids tasks such as the cataloguing of articles and maintenance of databases. For more information about the use of microformats on Wikipedia, please visit <a href="/wiki/Wikipedia:WikiProject_Microformats" title="Wikipedia:WikiProject Microformats">the Microformat WikiProject</a>.<div style="margin-top:0.5em;margin-bottom:0.65em;"> <dl><dt><span style="font-size:120%">Classes used</span></dt></dl> <p>The <a href="/wiki/HTML_attribute" title="HTML attribute">HTML classes</a> of this microformat include: </p> <dl><dd><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><div class="hlist"><ul><li style="font-size:110%;">attendee</li><li style="font-size:110%;">description</li><li style="font-size:110%;">dtend</li><li style="font-size:110%;">dtstart</li><li style="font-size:110%;">location</li><li style="font-size:110%;">summary</li><li style="font-size:110%;">url</li><li style="font-size:110%;">vevent</li></ul></div> </dd></dl></div> <div style="display: inline-block; line-height: 1.2em; padding: .1em 0; line-height:1.3em"><i><b>Please do not rename or remove these classes<br />nor collapse nested elements which use them.</b></i></div> <p><br /> </p> <div class="mw-heading mw-heading3"><h3 id="Adding_new_calendars">Adding new calendars</h3></div> <p>The module is set up to allow for easy addition of new calendars. Just scroll down to the "Build the box" section of the module code, and add your calendar as follows: </p><p>To display one year: </p> <div style="overflow: auto;"><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span> <span class="kd">local</span> <span class="n">myCalendar</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> <span class="n">myCalendar</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'My calendar article'</span> <span class="p">)</span> <span class="c1">-- The name of the calendar's Wikipedia article.</span> <span class="n">myCalendar</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">10</span> <span class="p">)</span> <span class="c1">-- Lua code linking the Gregorian calendar year to your calendar's year.</span> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">myCalendar</span> <span class="p">)</span> </pre></div></div> <p>To display a year range: </p> <div style="overflow: auto;"><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span> <span class="kd">local</span> <span class="n">myCalendar</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> <span class="n">myCalendar</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'My calendar article'</span> <span class="p">)</span> <span class="c1">-- The name of the calendar's Wikipedia article.</span> <span class="n">myCalendar</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">10</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">11</span> <span class="p">)</span> <span class="c1">-- Lua code outputting the start year and the end year of the year range.</span> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">myCalendar</span> <span class="p">)</span> </pre></div></div> <p>More complicated calendars can be passed as a string to <code>calendar:setYear()</code>. </p> <div class="mw-heading mw-heading3"><h3 id="Technical_details">Technical details</h3></div> <p>The module defines three <a href="/wiki/Class_(programming)" class="mw-redirect" title="Class (programming)">classes</a> which do the work of setting up the sidebar and displaying the data provided by the calendar functions. These are the <code>calendarBox</code> class, which defines the sidebar; the <code>calendar</code> class, which holds the data for one calendar; and the <code>calendarGroup</code> object, which defines a group of calendar objects with a heading. </p><p>To load these classes from another module, use the following: </p> <div style="overflow: auto;"><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">yearInOtherCalendars</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Year in various calendars'</span> <span class="p">)</span> <span class="kd">local</span> <span class="n">calendarBox</span> <span class="o">=</span> <span class="n">yearInOtherCalendars</span><span class="p">.</span><span class="n">calendarBox</span> <span class="kd">local</span> <span class="n">calendarGroup</span> <span class="o">=</span> <span class="n">yearInOtherCalendars</span><span class="p">.</span><span class="n">calendarGroup</span> <span class="kd">local</span> <span class="n">calendar</span> <span class="o">=</span> <span class="n">yearInOtherCalendars</span><span class="p">.</span><span class="n">calendar</span> </pre></div></div> <div class="mw-heading mw-heading4"><h4 id="calendarBox_class">calendarBox class</h4></div> <p>A <code>calendarBox</code> object is initiated with: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1195917819"><pre class="pre">local myCalendarBox = calendarBox:new{ year = <i>yyyy</i>, footnotes = <i>footnotes</i>, navbar = <i>page name</i> }</pre> <ul><li><code>year</code> - sets the Gregorian year to base calendar calculations on. If not specified, the current year is used.</li> <li><code>footnotes</code> - sets text to be displayed in a footnotes section at the bottom of the sidebar.</li> <li><code>navbar</code> - sets the page name to be used by the <a href="/wiki/Template:Navbar" title="Template:Navbar">navbar</a>.</li></ul> <p>Calendar box objects have the following properties: </p> <ul><li><code>calendarBox.year</code> - the Gregorian year number. This is negative for BC years; for example, for the year 100 BC the value of calendarBox.year is <code>-99</code>. (BC years are calculated by "1 - n" rather than "0 - n", as there is no year zero.)</li> <li><code>calendarBox.yearText</code> - the Gregorian year text. This is a string value of the format "n" for AD years and "n BC" for BC years.</li> <li><code>calendarBox.caption</code> - the text of the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>.</li> <li><code>calendarBox.footnotes</code> - the text of the box footnotes.</li> <li><code>calendarBox.navbar</code> - the page name used by the navbar.</li></ul> <p>Calendar box objects have the following methods: </p> <ul><li><code>calendarBox:setCaption( <i>caption</i> )</code> - sets the box caption (the bold text that appears directly above the box). The default caption is the value of <code>calendarBox.yearText</code>.</li> <li><code>calendarBox:addCalendar( <i>obj</i> )</code> - adds a calendar object or a calendar group object to the calendar box.</li> <li><code>calendarBox:addCalendarGroup( <i>obj</i> )</code> - an alias for <code>myCalendarBox:addCalendar()</code>.</li> <li><code>calendarBox:export()</code> - converts the calendar box object to wikicode. This calls <code>calendar:export()</code> and <code>calendarGroup:export()</code> to export calendar objects and calendar group objects.</li></ul> <div class="mw-heading mw-heading4"><h4 id="calendar_class">calendar class</h4></div> <p>A <code>calendar</code> object is initiated with: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1195917819"><pre class="pre">local myCalendar = calendar:new()</pre> <p>Calendar objects have the following properties: </p> <ul><li><code>calendar.link</code> - the link name.</li> <li><code>calendar.year</code> - the year value. This is always a string value.</li></ul> <p>Calendar objects have the following methods: </p> <ul><li><code>calendar:setLink( <i>link</i>, <i>display</i> )</code> - sets the link name for the calendar object. <code><i>link</i></code> is the name of Wikipedia's article about the calendar, and <code><i>display</i></code> is an optional display name for the article link.</li> <li><code>calendar:setRawLink( <i>wikitext</i> )</code> - sets the calendar link as raw wikitext.</li> <li><code>calendar:getLink()</code> - gets the link value.</li> <li><code>calendar:setYear( <i>year</i> )</code> - sets the year value for the calendar. <code><i>year</i></code> can be a number or a string.</li> <li><code>calendar:setYearRange( <i>startYear</i>, <i>endYear</i> )</code> - sets the year value for the calendar as a year range. Both <code><i>startYear</i></code> and <code><i>endYear</i></code> must be number values.</li> <li><code>calendar:export()</code> - exports the calendar to wikitext. If no link value was found, this returns <code>nil</code>. If a link was found but no year value was found, the calendar is output with a value of <code><i>N/A</i></code> for the year.</li></ul> <div class="mw-heading mw-heading4"><h4 id="calendarGroup_class">calendarGroup class</h4></div> <p>A <code>calendarGroup</code> object is initiated with: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1195917819"><pre class="pre">local myCalendarGroup = calendarGroup:new{ heading = <i>heading</i> }</pre> <ul><li><code>heading</code> - the wikitext heading for the calendar group (e.g. <code>[[Hindu calendar]]s</code>).</li></ul> <p>Calendar group objects have one property: </p> <ul><li><code>calendarGroup.heading</code> - the calendar group heading text.</li></ul> <p>Calendar group objects have the following methods: </p> <ul><li><code>calendarGroup:addCalendar( <i>obj</i> )</code> - adds a calendar object to the calendar group.</li> <li><code>calendarGroup:export()</code> - converts a calendar group to wikitext. Calls <code>calendar:export()</code> to export individual calendar objects.</li></ul> <div class="mw-heading mw-heading3"><h3 id="See_also">See also</h3></div> <p><span class="nowrap">{{</span><a href="/wiki/Template:Year_in_various_calendars" title="Template:Year in various calendars">Year in various calendars</a><span class="nowrap">}}</span> </p> <div class="documentation-clear"></div> </div> <div role="note" class="documentation-metadata plainlinks">The above <a href="/wiki/Wikipedia:Template_documentation" title="Wikipedia:Template documentation">documentation</a> is <a href="/wiki/Help:Transclusion" title="Help:Transclusion">transcluded</a> from <a href="/wiki/Module:Year_in_various_calendars/doc" title="Module:Year in various calendars/doc">Module:Year in various calendars/doc</a>. <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Year_in_various_calendars/doc" title="Special:EditPage/Module:Year in various calendars/doc">edit</a> | <a href="/wiki/Special:PageHistory/Module:Year_in_various_calendars/doc" title="Special:PageHistory/Module:Year in various calendars/doc">history</a>)</span><br />Editors can experiment in this module's <a href="/wiki/Module:Year_in_various_calendars/sandbox" title="Module:Year in various calendars/sandbox">sandbox</a> <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Year_in_various_calendars/sandbox" title="Special:EditPage/Module:Year in various calendars/sandbox">edit</a> | <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Special%3AComparePages&page1=Module%3AYear+in+various+calendars&page2=Module%3AYear+in+various+calendars%2Fsandbox">diff</a>)</span> and testcases <span class="documentation-toolbar">(<a class="external text" href="https://en.wikipedia.org/w/index.php?title=Module:Year_in_various_calendars/testcases&action=edit&preload=Template%3ADocumentation%2Fpreload-module-testcases">create</a>)</span> pages.<br /> <a href="/wiki/Special:PrefixIndex/Module:Year_in_various_calendars/" title="Special:PrefixIndex/Module:Year in various calendars/">Subpages of this module</a>.</div></div> <p><span id="code"></span> </p><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="c1">-- Load dependencies.</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="kd">local</span> <span class="n">getArgs</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Arguments'</span><span class="p">).</span><span class="n">getArgs</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="kd">local</span> <span class="n">numToRoman</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Roman'</span> <span class="p">).</span><span class="n">main</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="kd">local</span> <span class="n">getOlympiad</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Ancient Olympiads'</span> <span class="p">).</span><span class="n">_main</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="kd">local</span> <span class="n">getDynasty</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Ancient Egypt era'</span> <span class="p">).</span><span class="n">_main</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="kd">local</span> <span class="n">getPharaoh</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Ancient Egypt kings'</span> <span class="p">).</span><span class="n">_main</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="kd">local</span> <span class="n">numToArmenian</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Armenian'</span> <span class="p">).</span><span class="n">main</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="kd">local</span> <span class="n">getRegnal</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:British regnal year'</span> <span class="p">).</span><span class="n">main</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="kd">local</span> <span class="n">japaneseEra</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span> <span class="s1">'Module:Japanese calendar'</span> <span class="p">).</span><span class="n">era</span><span class="p">()</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="c1">-- Define constants.</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="kd">local</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">()</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="kd">local</span> <span class="n">currentYear</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">lang</span><span class="p">:</span><span class="n">formatDate</span><span class="p">(</span> <span class="s1">'Y'</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="c1">-- Helper functions</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">isInteger</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> <span class="c1">-- Checks if a value is an integer. If so, returns the value converted to a number.</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> <span class="c1">-- If not, returns false.</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> <span class="n">num</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="kr">if</span> <span class="n">num</span> <span class="ow">and</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> <span class="o">==</span> <span class="n">num</span> <span class="ow">and</span> <span class="n">num</span> <span class="o">~=</span> <span class="nb">math.huge</span> <span class="kr">then</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> <span class="kr">return</span> <span class="n">num</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> <span class="kr">else</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a> <span class="kr">return</span> <span class="kc">false</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="kr">end</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="kr">end</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">BCToNum</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="c1">-- Converts strings of the format "n BC" to their corresponding</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="c1">-- numerical values.</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> <span class="kr">end</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">upper</span><span class="p">(</span> <span class="n">s</span> <span class="p">),</span> <span class="s1">'^([1-9]%d*)%s*BC$'</span> <span class="p">)</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">s</span> <span class="kr">then</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="kr">end</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kd">local</span> <span class="n">num</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="n">num</span> <span class="o">=</span> <span class="p">(</span> <span class="n">num</span> <span class="o">-</span> <span class="mi">1</span> <span class="p">)</span> <span class="o">*</span> <span class="o">-</span><span class="mi">1</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="kr">return</span> <span class="n">num</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a><span class="kr">end</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">numToBC</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="c1">-- For BC years, returns a string with the year name appended with " BC".</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="c1">-- Otherwise returns nil.</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="n">num</span> <span class="o">=</span> <span class="n">isInteger</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">num</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> <span class="kr">if</span> <span class="n">num</span> <span class="o"><=</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> <span class="kr">return</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d BC'</span><span class="p">,</span> <span class="mi">1</span> <span class="o">-</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> <span class="kr">end</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="kr">end</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">ADToNum</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> <span class="c1">-- Converts strings of the format "AD n"</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="c1">-- to their corresponding numerical values.</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kr">end</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">upper</span><span class="p">(</span> <span class="n">s</span> <span class="p">),</span> <span class="s1">'^AD%s*([1-9]%d*)$'</span> <span class="p">)</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">s</span> <span class="kr">then</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> <span class="kr">end</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="kd">local</span> <span class="n">num</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kr">return</span> <span class="n">num</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a><span class="kr">end</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">numToAD</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a> <span class="c1">-- For AD years up to 100, returns a string with the year name prepended with "AD ".</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="c1">-- Otherwise returns nil.</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a> <span class="n">num</span> <span class="o">=</span> <span class="n">isInteger</span><span class="p">(</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">num</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">num</span> <span class="o"><=</span> <span class="mi">100</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="kr">return</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'AD %d'</span><span class="p">,</span> <span class="n">num</span> <span class="p">)</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="kr">end</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="kr">end</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatNegative</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="c1">-- Replaces hyphens in a string with minus signs if the hyphen comes before a number.</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="n">s</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="s1">'%-(%d)'</span><span class="p">,</span> <span class="s1">'−%1'</span> <span class="p">)</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kr">return</span> <span class="n">s</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a><span class="kr">end</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a><span class="c1">-- Calendar box class definition</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a><span class="kd">local</span> <span class="n">calendarBox</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a><span class="n">calendarBox</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">calendarBox</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a><span class="kr">function</span> <span class="nc">calendarBox</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span> <span class="n">init</span> <span class="p">)</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="n">init</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span> <span class="n">init</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="ow">and</span> <span class="n">init</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="kd">local</span> <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kd">local</span> <span class="n">pagename</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">().</span><span class="n">text</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="c1">-- Set the year. If the year is specified as an argument, use that.</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="c1">-- Otherwise, use the page name if it is valid. If the pagename isn't</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="c1">-- valid, use the current year.</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="kd">local</span> <span class="n">yearNum</span> <span class="o">=</span> <span class="n">isInteger</span><span class="p">(</span> <span class="n">init</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kd">local</span> <span class="n">yearBC</span> <span class="o">=</span> <span class="n">BCToNum</span><span class="p">(</span> <span class="n">init</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="kd">local</span> <span class="n">yearAD</span> <span class="o">=</span> <span class="n">ADToNum</span><span class="p">(</span> <span class="n">init</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kd">local</span> <span class="n">pageNum</span> <span class="o">=</span> <span class="n">isInteger</span><span class="p">(</span> <span class="n">pagename</span> <span class="p">)</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kd">local</span> <span class="n">pageBC</span> <span class="o">=</span> <span class="n">BCToNum</span><span class="p">(</span> <span class="n">pagename</span> <span class="p">)</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="kd">local</span> <span class="n">pageAD</span> <span class="o">=</span> <span class="n">ADToNum</span><span class="p">(</span> <span class="n">pagename</span> <span class="p">)</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kr">if</span> <span class="n">yearNum</span> <span class="kr">then</span> <span class="c1">-- First, see if the year parameter is a number.</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">yearNum</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">elseif</span> <span class="n">yearBC</span> <span class="kr">then</span> <span class="c1">-- Second, see if the year parameter is a "yyyy BC" string.</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">yearBC</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">elseif</span> <span class="n">yearAD</span> <span class="kr">then</span> <span class="c1">-- Third, see if the year parameter is an AD/CE/year string.</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">yearAD</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="kr">elseif</span> <span class="n">pageNum</span> <span class="kr">then</span> <span class="c1">-- Fourth, see if the pagename is an integer.</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">pageNum</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="kr">elseif</span> <span class="n">pageBC</span> <span class="kr">then</span> <span class="c1">-- Fifth, see if the pagename is a "yyyy BC" string.</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">pageBC</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="kr">elseif</span> <span class="n">pageAD</span> <span class="kr">then</span> <span class="c1">-- Sixth, see if the pagename is an AD/CE/year string.</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">pageAD</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="kr">else</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">currentYear</span> <span class="c1">-- If none of the above apply, use the current year.</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">end</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> <span class="c1">-- Set year text values.</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">BCYearName</span> <span class="o">=</span> <span class="n">numToBC</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">ADYearName</span> <span class="o">=</span> <span class="n">numToAD</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">BCYearName</span> <span class="kr">then</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">yearText</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">BCYearName</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">ADYearName</span> <span class="kr">then</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">yearText</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">ADYearName</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="kr">else</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">yearText</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="p">)</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="kr">end</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="c1">-- Set other fields.</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">caption</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">yearText</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">footnotes</span> <span class="o">=</span> <span class="n">init</span><span class="p">.</span><span class="n">footnotes</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span> <span class="n">obj</span><span class="p">,</span> <span class="p">{</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="n">__index</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="p">})</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a><span class="kr">end</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="kr">function</span> <span class="nc">calendarBox</span><span class="p">:</span><span class="nf">setCaption</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> <span class="c1">-- Sets the calendar box caption.</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="ow">or</span> <span class="n">s</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">caption</span> <span class="o">=</span> <span class="n">s</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="kr">end</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a><span class="kr">function</span> <span class="nc">calendarBox</span><span class="p">:</span><span class="nf">addCalendar</span><span class="p">(</span> <span class="n">obj</span> <span class="p">)</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="c1">-- Adds a calendar or a calendar group.</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">obj</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'table'</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">obj</span><span class="p">.</span><span class="n">new</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'function'</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> <span class="c1">-- Exit if the object is invalid.</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span><span class="p">,</span> <span class="n">obj</span> <span class="p">)</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a><span class="kr">end</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a><span class="c1">-- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a><span class="c1">-- to have to use the name "addCalendar" for a calendar group.</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a><span class="n">calendarBox</span><span class="p">.</span><span class="n">addCalendarGroup</span> <span class="o">=</span> <span class="n">calendarBox</span><span class="p">.</span><span class="n">addCalendar</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a><span class="kr">function</span> <span class="nc">calendarBox</span><span class="p">:</span><span class="nf">export</span><span class="p">()</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> <span class="c1">-- Outputs the calendar box wikitext.</span> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> <span class="kd">local</span> <span class="n">root</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">(</span> <span class="s1">'table'</span> <span class="p">)</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="c1">-- Export the calendar box headers.</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a> <span class="n">root</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'infobox vevent'</span> <span class="p">)</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="p">:</span><span class="n">css</span><span class="p">(</span> <span class="s1">'width'</span><span class="p">,</span> <span class="s1">'22em'</span> <span class="p">)</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'caption'</span> <span class="p">)</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="p">:</span><span class="n">css</span><span class="p">(</span> <span class="s1">'font-size'</span><span class="p">,</span> <span class="s1">'125%'</span> <span class="p">)</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'span'</span> <span class="p">)</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span> <span class="s1">'summary dtstart'</span> <span class="p">)</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">caption</span> <span class="p">)</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="c1">-- Export the calendars and calendar groups. "calendar:export()" works for both kinds</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="c1">-- of objects. Some export functions can return nil, so we need to check for that.</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="kr">then</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">calendar</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kd">local</span> <span class="n">calendarText</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">export</span><span class="p">()</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">calendarText</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">calendarText</span> <span class="p">)</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="kr">end</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="kr">end</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="kr">end</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="c1">-- Add footnotes.</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">footnotes</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">footnotes</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="n">root</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'tr'</span> <span class="p">)</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'td'</span> <span class="p">)</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span> <span class="s1">'colspan'</span><span class="p">,</span> <span class="s1">'2'</span> <span class="p">)</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%s'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">footnotes</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> <span class="kr">end</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">root</span> <span class="p">)</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a><span class="kr">end</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a><span class="c1">-- Calendar group class definition</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a><span class="c1">-- Calendar groups are used to group different calendars together. </span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a><span class="c1">-- Previously, the template did this by including a table row with</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a><span class="c1">-- no year value. By using objects we can do the same thing more</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a><span class="c1">-- semantically.</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a><span class="kd">local</span> <span class="n">calendarGroup</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a><span class="n">calendarGroup</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">calendarGroup</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a><span class="kr">function</span> <span class="nc">calendarGroup</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span> <span class="n">init</span> <span class="p">)</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="n">init</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span> <span class="n">init</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="ow">and</span> <span class="n">init</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="kd">local</span> <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="c1">-- Get the heading and throw an error if it is invalid.</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">heading</span> <span class="o">=</span> <span class="n">init</span><span class="p">.</span><span class="n">heading</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">obj</span><span class="p">.</span><span class="n">heading</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="nb">error</span><span class="p">(</span> <span class="s1">'calendarGroup: no heading detected'</span> <span class="p">)</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="kr">end</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="c1">-- Set the metatable and return the object.</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span> <span class="n">obj</span><span class="p">,</span> <span class="p">{</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="n">__index</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="p">})</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a><span class="kr">end</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a><span class="kr">function</span> <span class="nc">calendarGroup</span><span class="p">:</span><span class="nf">addCalendar</span><span class="p">(</span> <span class="n">calendar</span> <span class="p">)</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="c1">-- Adds a calendar object to the calendar group.</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">calendar</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'table'</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">calendar</span><span class="p">.</span><span class="n">getLink</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'function'</span> <span class="kr">then</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span><span class="p">,</span> <span class="n">calendar</span> <span class="p">)</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="kr">end</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a><span class="kr">end</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a><span class="kr">function</span> <span class="nc">calendarGroup</span><span class="p">:</span><span class="nf">export</span><span class="p">()</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a> <span class="c1">-- Exports the calendar group's wikitext.</span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a> <span class="c1">-- Indent and italicise each calendar's link if it exists.</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">calendar</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="kd">local</span> <span class="n">link</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">getLink</span><span class="p">()</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">link</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span><span class="p">[</span> <span class="n">i</span> <span class="p">]:</span><span class="n">setRawLink</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s2">"&nbsp;- ''%s''"</span><span class="p">,</span> <span class="n">link</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a> <span class="kr">end</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a> <span class="kr">end</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a> <span class="c1">-- Create the heading row html and export the calendar objects.</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">()</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> <span class="n">ret</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'tr'</span> <span class="p">)</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'td'</span> <span class="p">)</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">heading</span> <span class="p">)</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a> <span class="p">:</span><span class="n">done</span><span class="p">()</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'td'</span> <span class="p">)</span> <span class="c1">-- Use a blank tag to make the html look nice.</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="p">:</span><span class="n">allDone</span><span class="p">()</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">calendar</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">self</span><span class="p">.</span><span class="n">calendars</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="n">ret</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">calendar</span><span class="p">:</span><span class="n">export</span><span class="p">()</span> <span class="p">)</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="kr">end</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">ret</span> <span class="p">)</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a><span class="kr">end</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a><span class="c1">-- Calendar class definition</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a><span class="kd">local</span> <span class="n">calendar</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a><span class="n">calendar</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">calendar</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a><span class="n">calendar</span><span class="p">.</span><span class="n">type</span> <span class="o">=</span> <span class="s1">'calendar'</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">new</span><span class="p">()</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="kd">local</span> <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span> <span class="n">obj</span><span class="p">,</span> <span class="p">{</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="n">__index</span> <span class="o">=</span> <span class="n">self</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="p">})</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a><span class="kr">end</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">setLink</span><span class="p">(</span> <span class="n">link</span><span class="p">,</span> <span class="n">display</span> <span class="p">)</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="c1">-- Sets the calendar's wikilink, with optional display text and italics.</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">link</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="ow">or</span> <span class="n">link</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="n">display</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span> <span class="n">display</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">display</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">display</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="kr">if</span> <span class="n">display</span> <span class="kr">then</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">link</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[%s|%s]]'</span><span class="p">,</span> <span class="n">link</span><span class="p">,</span> <span class="n">display</span> <span class="p">)</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="kr">else</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">link</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[%s]]'</span><span class="p">,</span> <span class="n">link</span> <span class="p">)</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="kr">end</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a><span class="kr">end</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">setRawLink</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="c1">-- Sets the calendar's wikilink as raw wikitext.</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="ow">or</span> <span class="n">s</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">link</span> <span class="o">=</span> <span class="n">s</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a><span class="kr">end</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">getLink</span><span class="p">()</span> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="c1">-- Returns the calendar's link value.</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="kr">return</span> <span class="n">self</span><span class="p">.</span><span class="n">link</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a><span class="kr">end</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> <span class="c1">-- Sets a single year. Can be passed either a string or a number.</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="c1">-- If passed as a number, it is formatted with minus signs instead of hyphens.</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> <span class="c1">-- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions.</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="kr">then</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">year</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="kr">end</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a><span class="kr">end</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">setYearRange</span><span class="p">(</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="c1">-- Sets a year range. Must be passed two numbers.</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year1</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year2</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="kr">then</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="kd">local</span> <span class="n">year</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="kr">if</span> <span class="n">year1</span> <span class="o"><</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">year2</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> <span class="c1">-- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other.</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d – %d'</span><span class="p">,</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> <span class="kr">else</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d–%d'</span><span class="p">,</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> <span class="kr">end</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">year</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> <span class="kr">end</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a><span class="kr">end</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">setYearCouple</span><span class="p">(</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span><span class="p">,</span> <span class="n">addtext</span> <span class="p">)</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a> <span class="c1">-- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. </span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> <span class="c1">-- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link')</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="c1">-- See example in Seleucid era calendar</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year1</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="ow">and</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year2</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'number'</span> <span class="kr">then</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="kd">local</span> <span class="n">year</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="kr">if</span> <span class="n">year1</span> <span class="o"><</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">year2</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> <span class="c1">-- Leave no gap for negative years.</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d/%d %s'</span><span class="p">,</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span><span class="p">,</span> <span class="n">addtext</span> <span class="p">)</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kr">else</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d/%d %s'</span><span class="p">,</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span><span class="p">,</span> <span class="n">addtext</span> <span class="p">)</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="kr">end</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">year</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kr">end</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a><span class="kr">end</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a><span class="kr">function</span> <span class="nc">calendar</span><span class="p">:</span><span class="nf">export</span><span class="p">()</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="c1">-- Outputs the calendar wikitext.</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="c1">-- Exit if no link has been specified.</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> <span class="kd">local</span> <span class="n">link</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">link</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">link</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="ow">or</span> <span class="n">link</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="c1">-- If no year has been specified, set the year value to N/A.</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="kd">local</span> <span class="n">year</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">year</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="o">~=</span> <span class="s1">'string'</span> <span class="ow">or</span> <span class="n">year</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="n">year</span> <span class="o">=</span> <span class="s2">"''N/A''"</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a> <span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a> <span class="c1">-- Build the table row.</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">()</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> <span class="n">ret</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'tr'</span> <span class="p">)</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'td'</span> <span class="p">)</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">link</span> <span class="p">)</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> <span class="p">:</span><span class="n">done</span><span class="p">()</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span> <span class="s1">'td'</span> <span class="p">)</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a> <span class="p">:</span><span class="n">allDone</span><span class="p">()</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">ret</span> <span class="p">)</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a><span class="kr">end</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a><span class="c1">-- Build the box</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">makeCalendarBox</span><span class="p">(</span> <span class="n">args</span> <span class="p">)</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> <span class="c1">-- Initiate the box and get the year values.</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="kd">local</span> <span class="n">init</span> <span class="o">=</span> <span class="n">args</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="kd">local</span> <span class="n">box</span> <span class="o">=</span> <span class="n">calendarBox</span><span class="p">:</span><span class="n">new</span><span class="p">(</span> <span class="n">init</span> <span class="p">)</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="kd">local</span> <span class="n">year</span> <span class="o">=</span> <span class="n">box</span><span class="p">.</span><span class="n">year</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="kd">local</span> <span class="n">yearText</span> <span class="o">=</span> <span class="n">box</span><span class="p">.</span><span class="n">yearText</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="c1">-- Set the caption.</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">setCaption</span><span class="p">(</span> <span class="n">box</span><span class="p">.</span><span class="n">caption</span> <span class="o">..</span> <span class="s1">' in various [[Calendar era|calendars]]'</span> <span class="p">)</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="c1">-- Gregorian calendar</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="kd">local</span> <span class="n">gregorian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="n">gregorian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Gregorian calendar'</span> <span class="p">)</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="c1">-- Get the year link.</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="kd">local</span> <span class="n">gregcal</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">gregcal</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">gregcal</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">gregcal</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="n">gregorian</span><span class="p">.</span><span class="n">yearLink</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[%s|%s]]'</span><span class="p">,</span> <span class="n">gregcal</span><span class="p">,</span> <span class="n">yearText</span> <span class="p">)</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="kr">else</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="n">gregorian</span><span class="p">.</span><span class="n">yearLink</span> <span class="o">=</span> <span class="n">yearText</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> <span class="kr">end</span> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> <span class="c1">-- Set the year.</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o"><=</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="n">gregorian</span><span class="p">.</span><span class="n">romanYear</span> <span class="o">=</span> <span class="n">numToRoman</span><span class="p">{</span><span class="o">-</span><span class="p">(</span><span class="n">year</span><span class="o">-</span><span class="mi">1</span><span class="p">)}</span> <span class="o">..</span> <span class="s1">' BC'</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> <span class="kr">else</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="n">gregorian</span><span class="p">.</span><span class="n">romanYear</span> <span class="o">=</span> <span class="n">numToRoman</span><span class="p">{</span><span class="n">year</span><span class="p">}</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="kr">end</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kr">if</span> <span class="n">gregorian</span><span class="p">.</span><span class="n">romanYear</span> <span class="kr">then</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="n">gregorian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> <span class="s">[[%s<br /><span style="font-family: serif;">''%s''</span>]]</span><span class="p">,</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="n">gregorian</span><span class="p">.</span><span class="n">yearLink</span><span class="p">,</span> <span class="n">gregorian</span><span class="p">.</span><span class="n">romanYear</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="p">)</span> <span class="p">)</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a> <span class="kr">else</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="n">gregorian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">gregorian</span><span class="p">.</span><span class="n">yearLink</span> <span class="p">)</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="kr">end</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">gregorian</span> <span class="p">)</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="c1">-- French Republican calendar</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="c1">-- displays only in years 1793 - 1805 and 1871</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a> <span class="c1">-- This calendar was in use and had defined years only for the short period on display.</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="c1">-- Its importance during these few years is also the reason why it should stay out of the alphabetic order.</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> <span class="c1">-- See discussion on talk page.</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1793</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><</span> <span class="mi">1806</span> <span class="ow">or</span> <span class="n">year</span> <span class="o">==</span> <span class="mi">1871</span> <span class="kr">then</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a> <span class="kd">local</span> <span class="n">republican</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a> <span class="n">republican</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span><span class="s1">'French Republican calendar'</span><span class="p">)</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o"><=</span> <span class="mi">1870</span> <span class="kr">then</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a> <span class="n">republican</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1792</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1791</span> <span class="p">)</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a> <span class="kr">elseif</span> <span class="n">year</span> <span class="o">==</span> <span class="mi">1871</span> <span class="kr">then</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a> <span class="n">republican</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1792</span> <span class="p">)</span> <span class="c1">-- Paris Commune, May</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="kr">end</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">republican</span> <span class="p">)</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kr">end</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="c1">-- Ab urbe condita</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="c1">-- Varro's correlation, from 1 AUC</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="o">-</span><span class="mi">752</span> <span class="kr">then</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> <span class="kd">local</span> <span class="n">abUrbe</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> <span class="n">abUrbe</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Ab urbe condita'</span> <span class="p">)</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> <span class="n">abUrbe</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">753</span> <span class="p">)</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">abUrbe</span> <span class="p">)</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="kr">end</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> <span class="c1">-- Ancient Egypt era </span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="c1">-- Displays dynasty between 1549 BC and 30 BC</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> <span class="c1">-- Displays pharaoh or king between 752 BC and 30 BC</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="o">-</span><span class="mi">1549</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><=</span> <span class="o">-</span><span class="mi">29</span> <span class="kr">then</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> <span class="kd">local</span> <span class="n">ancEgypt</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a> <span class="n">ancEgypt</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="s1">'Egyptian chronology'</span><span class="p">,</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a> <span class="s1">'Ancient Egypt era'</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a> <span class="p">)</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> <span class="n">ancEgypt</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">getDynasty</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">ancEgypt</span> <span class="p">)</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> <span class="kr">end</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="o">-</span> <span class="mi">752</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><=</span> <span class="o">-</span><span class="mi">29</span> <span class="kr">then</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a> <span class="kd">local</span> <span class="n">ancPharaoh</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a> <span class="n">ancPharaoh</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a> <span class="s1">'List of pharaohs'</span><span class="p">,</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a> <span class="s1">'<i>- Pharaoh</i>'</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a> <span class="p">)</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a> <span class="n">ancPharaoh</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">getPharaoh</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">ancPharaoh</span> <span class="p">)</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> <span class="kr">end</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a> <span class="c1">-- Ancient Olympiads </span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> <span class="c1">-- Currently only the first 194 Olympiads</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> <span class="c1">-- May be expanded until 394 AD when data available</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="o">-</span><span class="mi">1300</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> <span class="kd">local</span> <span class="n">ancOlympiads</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="n">ancOlympiads</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a> <span class="s1">'Ancient Greek calendar'</span><span class="p">,</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> <span class="s1">'Ancient Greek era'</span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> <span class="p">)</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a> <span class="n">ancOlympiads</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">getOlympiad</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">ancOlympiads</span> <span class="p">)</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a> <span class="kr">end</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="c1">-- Armenian calendar</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="mi">551</span> <span class="kr">then</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="kd">local</span> <span class="n">armenian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="n">armenian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Armenian calendar'</span> <span class="p">)</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> <span class="kd">local</span> <span class="n">armenianYear</span> <span class="o">=</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">551</span> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="n">armenian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%s<br />ԹՎ %s'</span><span class="p">,</span> <span class="n">armenianYear</span><span class="p">,</span> <span class="n">numToArmenian</span><span class="p">(</span> <span class="n">armenianYear</span> <span class="p">)</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">armenian</span> <span class="p">)</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="kr">end</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="c1">-- Assyrian calendar</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kd">local</span> <span class="n">assyrian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="n">assyrian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Assyrian calendar'</span> <span class="p">)</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> <span class="n">assyrian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">4750</span> <span class="p">)</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">assyrian</span> <span class="p">)</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a> <span class="c1">-- Bahá'í calendar</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a> <span class="c1">-- displays only after 1843</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1844</span> <span class="kr">then</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a> <span class="kd">local</span> <span class="n">bahai</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a> <span class="n">bahai</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s2">"Baháʼí calendar"</span> <span class="p">)</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a> <span class="n">bahai</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1844</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1843</span> <span class="p">)</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">bahai</span> <span class="p">)</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> <span class="kr">end</span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="c1">-- Balinese saka calendar</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="c1">---------------------------------------------------------------------- </span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="kd">local</span> <span class="n">balinese</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> <span class="n">balinese</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Balinese saka calendar'</span> <span class="p">)</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">76</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="n">balinese</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">79</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">78</span> <span class="p">)</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="kr">end</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">balinese</span> <span class="p">)</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a> <span class="c1">-- Bengali calendar</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a> <span class="kd">local</span> <span class="n">bengali</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a> <span class="n">bengali</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Bengali calendar'</span> <span class="p">)</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a> <span class="n">bengali</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">593</span> <span class="p">)</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">bengali</span> <span class="p">)</span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a> <span class="c1">-- Berber calendar</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a> <span class="kd">local</span> <span class="n">berber</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> <span class="n">berber</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Berber calendar'</span> <span class="p">)</span> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a> <span class="n">berber</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">950</span> <span class="p">)</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">berber</span> <span class="p">)</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="c1">-- Regnal year</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1000</span> <span class="kr">then</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a> <span class="kd">local</span> <span class="n">regnal</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a> <span class="kd">local</span> <span class="n">regnalName</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="mi">1706</span> <span class="kr">then</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a> <span class="n">regnalName</span> <span class="o">=</span> <span class="s1">'British'</span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a> <span class="kr">else</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a> <span class="n">regnalName</span> <span class="o">=</span> <span class="s1">'English'</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="kr">end</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a> <span class="n">regnal</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Regnal years of English and British monarchs'</span><span class="p">,</span> <span class="n">regnalName</span> <span class="o">..</span> <span class="s1">' Regnal year'</span> <span class="p">)</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> <span class="n">regnal</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">getRegnal</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">regnal</span> <span class="p">)</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="kr">end</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="c1">-- Buddhist calendar</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="kd">local</span> <span class="n">buddhist</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="n">buddhist</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Buddhist calendar'</span> <span class="p">)</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> <span class="n">buddhist</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">544</span> <span class="p">)</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">buddhist</span> <span class="p">)</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a> <span class="c1">-- Burmese calendar</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a> <span class="kd">local</span> <span class="n">burmese</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> <span class="n">burmese</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Burmese calendar'</span> <span class="p">)</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> <span class="n">burmese</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">638</span> <span class="p">)</span> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">burmese</span> <span class="p">)</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a> <span class="c1">-- Byzantine calendar</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a> <span class="kd">local</span> <span class="n">byzantine</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="n">byzantine</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Byzantine calendar'</span> <span class="p">)</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a> <span class="n">byzantine</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">5508</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">5509</span> <span class="p">)</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">byzantine</span> <span class="p">)</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="c1">-- Chinese calendar</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a> <span class="kd">local</span> <span class="n">chinese</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a> <span class="n">chinese</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Chinese calendar'</span> <span class="p">)</span> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a> <span class="c1">-- Define the information for the "heavenly stems" and "earthly branches" year cycles.</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> <span class="c1">-- See [[Chinese calendar#Cycle of years]] for information.</span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> <span class="kd">local</span> <span class="n">heavenlyStems</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a> <span class="p">{</span> <span class="s1">'甲'</span><span class="p">,</span> <span class="s1">'Wood'</span> <span class="p">},</span> <span class="c1">-- 1</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> <span class="p">{</span> <span class="s1">'乙'</span><span class="p">,</span> <span class="s1">'Wood'</span> <span class="p">},</span> <span class="c1">-- 2</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a> <span class="p">{</span> <span class="s1">'丙'</span><span class="p">,</span> <span class="s1">'Fire'</span> <span class="p">},</span> <span class="c1">-- 3</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="p">{</span> <span class="s1">'丁'</span><span class="p">,</span> <span class="s1">'Fire'</span> <span class="p">},</span> <span class="c1">-- 4</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a> <span class="p">{</span> <span class="s1">'戊'</span><span class="p">,</span> <span class="s1">'Earth'</span> <span class="p">},</span> <span class="c1">-- 5</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> <span class="p">{</span> <span class="s1">'己'</span><span class="p">,</span> <span class="s1">'Earth'</span> <span class="p">},</span> <span class="c1">-- 6</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a> <span class="p">{</span> <span class="s1">'庚'</span><span class="p">,</span> <span class="s1">'Metal'</span> <span class="p">},</span> <span class="c1">-- 7</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> <span class="p">{</span> <span class="s1">'辛'</span><span class="p">,</span> <span class="s1">'Metal'</span> <span class="p">},</span> <span class="c1">-- 8</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a> <span class="p">{</span> <span class="s1">'壬'</span><span class="p">,</span> <span class="s1">'Water'</span> <span class="p">},</span> <span class="c1">-- 9</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> <span class="p">{</span> <span class="s1">'癸'</span><span class="p">,</span> <span class="s1">'Water'</span> <span class="p">}</span> <span class="c1">-- 10</span> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a> <span class="p">}</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a> <span class="kd">local</span> <span class="n">earthlyBranches</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a> <span class="p">{</span> <span class="s1">'子'</span><span class="p">,</span> <span class="s1">'[[Rat (zodiac)|Rat]]'</span> <span class="p">},</span> <span class="c1">-- 1</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a> <span class="p">{</span> <span class="s1">'丑'</span><span class="p">,</span> <span class="s1">'[[Ox (zodiac)|Ox]]'</span> <span class="p">},</span> <span class="c1">-- 2</span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a> <span class="p">{</span> <span class="s1">'寅'</span><span class="p">,</span> <span class="s1">'[[Tiger (zodiac)|Tiger]]'</span> <span class="p">},</span> <span class="c1">-- 3</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a> <span class="p">{</span> <span class="s1">'卯'</span><span class="p">,</span> <span class="s1">'[[Rabbit (zodiac)|Rabbit]]'</span> <span class="p">},</span> <span class="c1">-- 4</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a> <span class="p">{</span> <span class="s1">'辰'</span><span class="p">,</span> <span class="s1">'[[Dragon (zodiac)|Dragon]]'</span> <span class="p">},</span> <span class="c1">-- 5</span> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a> <span class="p">{</span> <span class="s1">'巳'</span><span class="p">,</span> <span class="s1">'[[Snake (zodiac)|Snake]]'</span> <span class="p">},</span> <span class="c1">-- 6</span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a> <span class="p">{</span> <span class="s1">'午'</span><span class="p">,</span> <span class="s1">'[[Horse (zodiac)|Horse]]'</span> <span class="p">},</span> <span class="c1">-- 7</span> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a> <span class="p">{</span> <span class="s1">'未'</span><span class="p">,</span> <span class="s1">'[[Goat (zodiac)|Goat]]'</span> <span class="p">},</span> <span class="c1">-- 8</span> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a> <span class="p">{</span> <span class="s1">'申'</span><span class="p">,</span> <span class="s1">'[[Monkey (zodiac)|Monkey]]'</span> <span class="p">},</span> <span class="c1">-- 9</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a> <span class="p">{</span> <span class="s1">'酉'</span><span class="p">,</span> <span class="s1">'[[Rooster (zodiac)|Rooster]]'</span> <span class="p">},</span> <span class="c1">-- 10</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a> <span class="p">{</span> <span class="s1">'戌'</span><span class="p">,</span> <span class="s1">'[[Dog (zodiac)|Dog]]'</span> <span class="p">},</span> <span class="c1">-- 11</span> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a> <span class="p">{</span> <span class="s1">'亥'</span><span class="p">,</span> <span class="s1">'[[Pig (zodiac)|Pig]]'</span> <span class="p">}</span> <span class="c1">-- 12</span> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a> <span class="p">}</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a> <span class="c1">-- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry</span> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a> <span class="c1">-- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in</span> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a> <span class="c1">-- Gregorian years.</span> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a> <span class="kd">local</span> <span class="n">sexagenaryYear1</span> <span class="o">=</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">4</span> <span class="p">)</span> <span class="o">%</span> <span class="mi">60</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a> <span class="kd">local</span> <span class="n">sexagenaryYear2</span> <span class="o">=</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">3</span> <span class="p">)</span> <span class="o">%</span> <span class="mi">60</span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a> <span class="kd">local</span> <span class="n">heavenlyNum1</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear1</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">10</span> <span class="o">+</span> <span class="mi">1</span> <span class="c1">-- amod, since lua arrays are 1-indexed</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a> <span class="kd">local</span> <span class="n">heavenlyNum2</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear2</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">10</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a> <span class="kd">local</span> <span class="n">earthlyNum1</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear1</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">12</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a> <span class="kd">local</span> <span class="n">earthlyNum2</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear2</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">12</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a> <span class="c1">-- Get the data tables for each permutation.</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a> <span class="kd">local</span> <span class="n">heavenlyTable1</span> <span class="o">=</span> <span class="n">heavenlyStems</span><span class="p">[</span> <span class="n">heavenlyNum1</span> <span class="p">]</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a> <span class="kd">local</span> <span class="n">heavenlyTable2</span> <span class="o">=</span> <span class="n">heavenlyStems</span><span class="p">[</span> <span class="n">heavenlyNum2</span> <span class="p">]</span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a> <span class="kd">local</span> <span class="n">earthlyTable1</span> <span class="o">=</span> <span class="n">earthlyBranches</span><span class="p">[</span> <span class="n">earthlyNum1</span> <span class="p">]</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a> <span class="kd">local</span> <span class="n">earthlyTable2</span> <span class="o">=</span> <span class="n">earthlyBranches</span><span class="p">[</span> <span class="n">earthlyNum2</span> <span class="p">]</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a> <span class="c1">-- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].)</span> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">2697</span> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">2698</span> </span><span id="L-634"><a href="#L-634"><span class="linenos" data-line="634"></span></a> <span class="kd">local</span> <span class="n">year1Alt</span> <span class="o">=</span> <span class="n">year1</span> <span class="o">-</span> <span class="mi">207</span> </span><span id="L-635"><a href="#L-635"><span class="linenos" data-line="635"></span></a> <span class="kd">local</span> <span class="n">year2Alt</span> <span class="o">=</span> <span class="n">year2</span> <span class="o">-</span> <span class="mi">207</span> </span><span id="L-636"><a href="#L-636"><span class="linenos" data-line="636"></span></a> </span><span id="L-637"><a href="#L-637"><span class="linenos" data-line="637"></span></a> <span class="c1">-- Format any negative numbers.</span> </span><span id="L-638"><a href="#L-638"><span class="linenos" data-line="638"></span></a> <span class="n">year1</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-639"><a href="#L-639"><span class="linenos" data-line="639"></span></a> <span class="n">year2</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-640"><a href="#L-640"><span class="linenos" data-line="640"></span></a> <span class="n">year1Alt</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year1Alt</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-641"><a href="#L-641"><span class="linenos" data-line="641"></span></a> <span class="n">year2Alt</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year2Alt</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-642"><a href="#L-642"><span class="linenos" data-line="642"></span></a> </span><span id="L-643"><a href="#L-643"><span class="linenos" data-line="643"></span></a> <span class="c1">-- Return all of that data in a (hopefully) reader-friendly format.</span> </span><span id="L-644"><a href="#L-644"><span class="linenos" data-line="644"></span></a> <span class="n">chinese</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-645"><a href="#L-645"><span class="linenos" data-line="645"></span></a> <span class="s">[=[[[Sexagenary cycle|%s%s]]年 (%s&nbsp;%s)<br />%s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%s年 (%s&nbsp;%s)<br />%s or %s]=]</span><span class="p">,</span> </span><span id="L-646"><a href="#L-646"><span class="linenos" data-line="646"></span></a> <span class="n">heavenlyTable1</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-647"><a href="#L-647"><span class="linenos" data-line="647"></span></a> <span class="n">earthlyTable1</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-648"><a href="#L-648"><span class="linenos" data-line="648"></span></a> <span class="n">heavenlyTable1</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-649"><a href="#L-649"><span class="linenos" data-line="649"></span></a> <span class="n">earthlyTable1</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-650"><a href="#L-650"><span class="linenos" data-line="650"></span></a> <span class="n">year1</span><span class="p">,</span> </span><span id="L-651"><a href="#L-651"><span class="linenos" data-line="651"></span></a> <span class="n">year1Alt</span><span class="p">,</span> </span><span id="L-652"><a href="#L-652"><span class="linenos" data-line="652"></span></a> <span class="n">heavenlyTable2</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-653"><a href="#L-653"><span class="linenos" data-line="653"></span></a> <span class="n">earthlyTable2</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-654"><a href="#L-654"><span class="linenos" data-line="654"></span></a> <span class="n">heavenlyTable2</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-655"><a href="#L-655"><span class="linenos" data-line="655"></span></a> <span class="n">earthlyTable2</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-656"><a href="#L-656"><span class="linenos" data-line="656"></span></a> <span class="n">year2</span><span class="p">,</span> </span><span id="L-657"><a href="#L-657"><span class="linenos" data-line="657"></span></a> <span class="n">year2Alt</span> </span><span id="L-658"><a href="#L-658"><span class="linenos" data-line="658"></span></a> <span class="p">)</span> <span class="p">)</span> </span><span id="L-659"><a href="#L-659"><span class="linenos" data-line="659"></span></a> </span><span id="L-660"><a href="#L-660"><span class="linenos" data-line="660"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">chinese</span> <span class="p">)</span> </span><span id="L-661"><a href="#L-661"><span class="linenos" data-line="661"></span></a> </span><span id="L-662"><a href="#L-662"><span class="linenos" data-line="662"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-663"><a href="#L-663"><span class="linenos" data-line="663"></span></a> <span class="c1">-- Coptic calendar</span> </span><span id="L-664"><a href="#L-664"><span class="linenos" data-line="664"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-665"><a href="#L-665"><span class="linenos" data-line="665"></span></a> </span><span id="L-666"><a href="#L-666"><span class="linenos" data-line="666"></span></a> <span class="kd">local</span> <span class="n">coptic</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-667"><a href="#L-667"><span class="linenos" data-line="667"></span></a> <span class="n">coptic</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Coptic calendar'</span> <span class="p">)</span> </span><span id="L-668"><a href="#L-668"><span class="linenos" data-line="668"></span></a> <span class="n">coptic</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">284</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">283</span> <span class="p">)</span> </span><span id="L-669"><a href="#L-669"><span class="linenos" data-line="669"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">coptic</span> <span class="p">)</span> </span><span id="L-670"><a href="#L-670"><span class="linenos" data-line="670"></span></a> </span><span id="L-671"><a href="#L-671"><span class="linenos" data-line="671"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-672"><a href="#L-672"><span class="linenos" data-line="672"></span></a> <span class="c1">-- Discordian calendar</span> </span><span id="L-673"><a href="#L-673"><span class="linenos" data-line="673"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-674"><a href="#L-674"><span class="linenos" data-line="674"></span></a> </span><span id="L-675"><a href="#L-675"><span class="linenos" data-line="675"></span></a> <span class="kd">local</span> <span class="n">discordian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-676"><a href="#L-676"><span class="linenos" data-line="676"></span></a> <span class="n">discordian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Discordian calendar'</span> <span class="p">)</span> </span><span id="L-677"><a href="#L-677"><span class="linenos" data-line="677"></span></a> <span class="n">discordian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">1166</span> <span class="p">)</span> </span><span id="L-678"><a href="#L-678"><span class="linenos" data-line="678"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">discordian</span> <span class="p">)</span> </span><span id="L-679"><a href="#L-679"><span class="linenos" data-line="679"></span></a> </span><span id="L-680"><a href="#L-680"><span class="linenos" data-line="680"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-681"><a href="#L-681"><span class="linenos" data-line="681"></span></a> <span class="c1">-- Ethiopian calendar</span> </span><span id="L-682"><a href="#L-682"><span class="linenos" data-line="682"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-683"><a href="#L-683"><span class="linenos" data-line="683"></span></a> </span><span id="L-684"><a href="#L-684"><span class="linenos" data-line="684"></span></a> <span class="kd">local</span> <span class="n">ethiopian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-685"><a href="#L-685"><span class="linenos" data-line="685"></span></a> <span class="n">ethiopian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Ethiopian calendar'</span> <span class="p">)</span> </span><span id="L-686"><a href="#L-686"><span class="linenos" data-line="686"></span></a> <span class="n">ethiopian</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">8</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">7</span> <span class="p">)</span> </span><span id="L-687"><a href="#L-687"><span class="linenos" data-line="687"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">ethiopian</span> <span class="p">)</span> </span><span id="L-688"><a href="#L-688"><span class="linenos" data-line="688"></span></a> </span><span id="L-689"><a href="#L-689"><span class="linenos" data-line="689"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-690"><a href="#L-690"><span class="linenos" data-line="690"></span></a> <span class="c1">-- Hebrew calendar</span> </span><span id="L-691"><a href="#L-691"><span class="linenos" data-line="691"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-692"><a href="#L-692"><span class="linenos" data-line="692"></span></a> </span><span id="L-693"><a href="#L-693"><span class="linenos" data-line="693"></span></a> <span class="kd">local</span> <span class="n">hebrew</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-694"><a href="#L-694"><span class="linenos" data-line="694"></span></a> <span class="n">hebrew</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Hebrew calendar'</span> <span class="p">)</span> </span><span id="L-695"><a href="#L-695"><span class="linenos" data-line="695"></span></a> <span class="n">hebrew</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">3760</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">3761</span> <span class="p">)</span> </span><span id="L-696"><a href="#L-696"><span class="linenos" data-line="696"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">hebrew</span> <span class="p">)</span> </span><span id="L-697"><a href="#L-697"><span class="linenos" data-line="697"></span></a> </span><span id="L-698"><a href="#L-698"><span class="linenos" data-line="698"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-699"><a href="#L-699"><span class="linenos" data-line="699"></span></a> <span class="c1">-- Hindu calendars</span> </span><span id="L-700"><a href="#L-700"><span class="linenos" data-line="700"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-701"><a href="#L-701"><span class="linenos" data-line="701"></span></a> </span><span id="L-702"><a href="#L-702"><span class="linenos" data-line="702"></span></a> <span class="kd">local</span> <span class="n">hindu</span> <span class="o">=</span> <span class="n">calendarGroup</span><span class="p">:</span><span class="n">new</span><span class="p">{</span> <span class="n">heading</span> <span class="o">=</span> <span class="s1">'[[Hindu calendar]]s'</span> <span class="p">}</span> </span><span id="L-703"><a href="#L-703"><span class="linenos" data-line="703"></span></a> </span><span id="L-704"><a href="#L-704"><span class="linenos" data-line="704"></span></a> <span class="c1">-- Vikram Samvat</span> </span><span id="L-705"><a href="#L-705"><span class="linenos" data-line="705"></span></a> </span><span id="L-706"><a href="#L-706"><span class="linenos" data-line="706"></span></a> <span class="kd">local</span> <span class="n">vikramSamvat</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-707"><a href="#L-707"><span class="linenos" data-line="707"></span></a> <span class="n">vikramSamvat</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Vikram Samvat'</span> <span class="p">)</span> </span><span id="L-708"><a href="#L-708"><span class="linenos" data-line="708"></span></a> <span class="n">vikramSamvat</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">56</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">57</span> <span class="p">)</span> </span><span id="L-709"><a href="#L-709"><span class="linenos" data-line="709"></span></a> <span class="n">hindu</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">vikramSamvat</span> <span class="p">)</span> </span><span id="L-710"><a href="#L-710"><span class="linenos" data-line="710"></span></a> </span><span id="L-711"><a href="#L-711"><span class="linenos" data-line="711"></span></a> <span class="c1">-- Shaka Samvat</span> </span><span id="L-712"><a href="#L-712"><span class="linenos" data-line="712"></span></a> </span><span id="L-713"><a href="#L-713"><span class="linenos" data-line="713"></span></a> <span class="kd">local</span> <span class="n">shakaSamvat</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-714"><a href="#L-714"><span class="linenos" data-line="714"></span></a> <span class="n">shakaSamvat</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Indian national calendar'</span><span class="p">,</span> <span class="s1">'Shaka Samvat'</span> <span class="p">)</span> </span><span id="L-715"><a href="#L-715"><span class="linenos" data-line="715"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">78</span> <span class="kr">then</span> </span><span id="L-716"><a href="#L-716"><span class="linenos" data-line="716"></span></a> <span class="n">shakaSamvat</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">79</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">78</span> <span class="p">)</span> </span><span id="L-717"><a href="#L-717"><span class="linenos" data-line="717"></span></a> <span class="kr">end</span> </span><span id="L-718"><a href="#L-718"><span class="linenos" data-line="718"></span></a> <span class="n">hindu</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">shakaSamvat</span> <span class="p">)</span> </span><span id="L-719"><a href="#L-719"><span class="linenos" data-line="719"></span></a> </span><span id="L-720"><a href="#L-720"><span class="linenos" data-line="720"></span></a> <span class="c1">-- Kali Yuga</span> </span><span id="L-721"><a href="#L-721"><span class="linenos" data-line="721"></span></a> </span><span id="L-722"><a href="#L-722"><span class="linenos" data-line="722"></span></a> <span class="kd">local</span> <span class="n">kaliYuga</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-723"><a href="#L-723"><span class="linenos" data-line="723"></span></a> <span class="n">kaliYuga</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Kali Yuga'</span> <span class="p">)</span> <span class="c1">-- use italics</span> </span><span id="L-724"><a href="#L-724"><span class="linenos" data-line="724"></span></a> <span class="n">kaliYuga</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">3100</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">3101</span> <span class="p">)</span> </span><span id="L-725"><a href="#L-725"><span class="linenos" data-line="725"></span></a> <span class="n">hindu</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">kaliYuga</span> <span class="p">)</span> </span><span id="L-726"><a href="#L-726"><span class="linenos" data-line="726"></span></a> </span><span id="L-727"><a href="#L-727"><span class="linenos" data-line="727"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendarGroup</span><span class="p">(</span> <span class="n">hindu</span> <span class="p">)</span> </span><span id="L-728"><a href="#L-728"><span class="linenos" data-line="728"></span></a> </span><span id="L-729"><a href="#L-729"><span class="linenos" data-line="729"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-730"><a href="#L-730"><span class="linenos" data-line="730"></span></a> <span class="c1">-- Holocene calendar</span> </span><span id="L-731"><a href="#L-731"><span class="linenos" data-line="731"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-732"><a href="#L-732"><span class="linenos" data-line="732"></span></a> </span><span id="L-733"><a href="#L-733"><span class="linenos" data-line="733"></span></a> <span class="kd">local</span> <span class="n">holocene</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-734"><a href="#L-734"><span class="linenos" data-line="734"></span></a> <span class="n">holocene</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Holocene calendar'</span> <span class="p">)</span> </span><span id="L-735"><a href="#L-735"><span class="linenos" data-line="735"></span></a> <span class="n">holocene</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">10000</span> <span class="p">)</span> </span><span id="L-736"><a href="#L-736"><span class="linenos" data-line="736"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">holocene</span> <span class="p">)</span> </span><span id="L-737"><a href="#L-737"><span class="linenos" data-line="737"></span></a> </span><span id="L-738"><a href="#L-738"><span class="linenos" data-line="738"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-739"><a href="#L-739"><span class="linenos" data-line="739"></span></a> <span class="c1">-- Igbo calendar</span> </span><span id="L-740"><a href="#L-740"><span class="linenos" data-line="740"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-741"><a href="#L-741"><span class="linenos" data-line="741"></span></a> </span><span id="L-742"><a href="#L-742"><span class="linenos" data-line="742"></span></a> <span class="c1">-- In the old template this was a calendar group with just one calendar; intentionally adding this as a single</span> </span><span id="L-743"><a href="#L-743"><span class="linenos" data-line="743"></span></a> <span class="c1">-- calendar here, as the previous behaviour looked like a mistake.</span> </span><span id="L-744"><a href="#L-744"><span class="linenos" data-line="744"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1000</span> <span class="kr">then</span> </span><span id="L-745"><a href="#L-745"><span class="linenos" data-line="745"></span></a> <span class="kd">local</span> <span class="n">igbo</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-746"><a href="#L-746"><span class="linenos" data-line="746"></span></a> <span class="n">igbo</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Igbo calendar'</span> <span class="p">)</span> </span><span id="L-747"><a href="#L-747"><span class="linenos" data-line="747"></span></a> <span class="n">igbo</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1000</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">999</span> <span class="p">)</span> </span><span id="L-748"><a href="#L-748"><span class="linenos" data-line="748"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">igbo</span> <span class="p">)</span> </span><span id="L-749"><a href="#L-749"><span class="linenos" data-line="749"></span></a> <span class="kr">end</span> </span><span id="L-750"><a href="#L-750"><span class="linenos" data-line="750"></span></a> </span><span id="L-751"><a href="#L-751"><span class="linenos" data-line="751"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-752"><a href="#L-752"><span class="linenos" data-line="752"></span></a> <span class="c1">-- Iranian calendar</span> </span><span id="L-753"><a href="#L-753"><span class="linenos" data-line="753"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-754"><a href="#L-754"><span class="linenos" data-line="754"></span></a> </span><span id="L-755"><a href="#L-755"><span class="linenos" data-line="755"></span></a> <span class="kd">local</span> <span class="n">iranian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-756"><a href="#L-756"><span class="linenos" data-line="756"></span></a> <span class="n">iranian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Iranian calendars'</span><span class="p">,</span> <span class="s1">'Iranian calendar'</span> <span class="p">)</span> </span><span id="L-757"><a href="#L-757"><span class="linenos" data-line="757"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">621</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-758"><a href="#L-758"><span class="linenos" data-line="758"></span></a> <span class="n">iranian</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">622</span><span class="p">,</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">621</span> <span class="p">)</span> </span><span id="L-759"><a href="#L-759"><span class="linenos" data-line="759"></span></a> <span class="kr">else</span> </span><span id="L-760"><a href="#L-760"><span class="linenos" data-line="760"></span></a> <span class="n">iranian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d BP&nbsp;– %d BP'</span><span class="p">,</span> <span class="mi">622</span> <span class="o">-</span> <span class="n">year</span><span class="p">,</span> <span class="mi">621</span> <span class="o">-</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-761"><a href="#L-761"><span class="linenos" data-line="761"></span></a> <span class="kr">end</span> </span><span id="L-762"><a href="#L-762"><span class="linenos" data-line="762"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">iranian</span> <span class="p">)</span> </span><span id="L-763"><a href="#L-763"><span class="linenos" data-line="763"></span></a> </span><span id="L-764"><a href="#L-764"><span class="linenos" data-line="764"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-765"><a href="#L-765"><span class="linenos" data-line="765"></span></a> <span class="c1">-- Islamic calendar</span> </span><span id="L-766"><a href="#L-766"><span class="linenos" data-line="766"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-767"><a href="#L-767"><span class="linenos" data-line="767"></span></a> </span><span id="L-768"><a href="#L-768"><span class="linenos" data-line="768"></span></a> <span class="kd">local</span> <span class="n">islamic</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-769"><a href="#L-769"><span class="linenos" data-line="769"></span></a> <span class="n">islamic</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Islamic calendar'</span> <span class="p">)</span> </span><span id="L-770"><a href="#L-770"><span class="linenos" data-line="770"></span></a> <span class="kd">local</span> <span class="n">islamicMult</span> <span class="o">=</span> <span class="mf">1.030684</span> <span class="c1">-- the factor to multiply by</span> </span><span id="L-771"><a href="#L-771"><span class="linenos" data-line="771"></span></a> <span class="kd">local</span> <span class="n">islamicSub</span> <span class="o">=</span> <span class="mf">621.5643</span> <span class="c1">-- the factor to subtract by</span> </span><span id="L-772"><a href="#L-772"><span class="linenos" data-line="772"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">621</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-773"><a href="#L-773"><span class="linenos" data-line="773"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">islamicMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">islamicSub</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-774"><a href="#L-774"><span class="linenos" data-line="774"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">islamicMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">islamicSub</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-775"><a href="#L-775"><span class="linenos" data-line="775"></span></a> <span class="n">islamic</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> </span><span id="L-776"><a href="#L-776"><span class="linenos" data-line="776"></span></a> <span class="kr">else</span> </span><span id="L-777"><a href="#L-777"><span class="linenos" data-line="777"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="nb">math.ceil</span><span class="p">(</span> <span class="o">-</span><span class="n">islamicMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">islamicSub</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-778"><a href="#L-778"><span class="linenos" data-line="778"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="nb">math.ceil</span><span class="p">(</span> <span class="o">-</span><span class="n">islamicMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">islamicSub</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-779"><a href="#L-779"><span class="linenos" data-line="779"></span></a> <span class="n">islamic</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d BH&nbsp;– %d BH'</span><span class="p">,</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-780"><a href="#L-780"><span class="linenos" data-line="780"></span></a> <span class="kr">end</span> </span><span id="L-781"><a href="#L-781"><span class="linenos" data-line="781"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">islamic</span> <span class="p">)</span> </span><span id="L-782"><a href="#L-782"><span class="linenos" data-line="782"></span></a> </span><span id="L-783"><a href="#L-783"><span class="linenos" data-line="783"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-784"><a href="#L-784"><span class="linenos" data-line="784"></span></a> <span class="c1">-- Japanese calendar</span> </span><span id="L-785"><a href="#L-785"><span class="linenos" data-line="785"></span></a> <span class="c1">-- starting 600</span> </span><span id="L-786"><a href="#L-786"><span class="linenos" data-line="786"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-787"><a href="#L-787"><span class="linenos" data-line="787"></span></a> </span><span id="L-788"><a href="#L-788"><span class="linenos" data-line="788"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">600</span> <span class="kr">then</span> </span><span id="L-789"><a href="#L-789"><span class="linenos" data-line="789"></span></a> <span class="kd">local</span> <span class="n">japanese</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-790"><a href="#L-790"><span class="linenos" data-line="790"></span></a> <span class="n">japanese</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Japanese calendar'</span> <span class="p">)</span> </span><span id="L-791"><a href="#L-791"><span class="linenos" data-line="791"></span></a> </span><span id="L-792"><a href="#L-792"><span class="linenos" data-line="792"></span></a> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span> <span class="o">=</span> <span class="n">japaneseEra</span><span class="p">:</span><span class="n">new</span><span class="p">{</span> <span class="n">year</span> <span class="o">=</span> <span class="n">year</span> <span class="p">}</span> </span><span id="L-793"><a href="#L-793"><span class="linenos" data-line="793"></span></a> <span class="kr">if</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span> <span class="kr">then</span> </span><span id="L-794"><a href="#L-794"><span class="linenos" data-line="794"></span></a> <span class="kd">local</span> <span class="n">japaneseYearText</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-795"><a href="#L-795"><span class="linenos" data-line="795"></span></a> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span> <span class="o">=</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">:</span><span class="n">getOldEra</span><span class="p">()</span> </span><span id="L-796"><a href="#L-796"><span class="linenos" data-line="796"></span></a> <span class="kr">if</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span> <span class="ow">and</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span><span class="p">.</span><span class="n">eraYear</span> <span class="ow">and</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">article</span> <span class="o">~=</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span><span class="p">.</span><span class="n">article</span> <span class="kr">then</span> </span><span id="L-797"><a href="#L-797"><span class="linenos" data-line="797"></span></a> <span class="n">japanese</span><span class="p">.</span><span class="n">oldText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%s %d'</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span><span class="p">.</span><span class="n">link</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldEra</span><span class="p">.</span><span class="n">eraYear</span> <span class="p">)</span> </span><span id="L-798"><a href="#L-798"><span class="linenos" data-line="798"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">japaneseYearText</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">oldText</span> <span class="p">)</span> </span><span id="L-799"><a href="#L-799"><span class="linenos" data-line="799"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">japaneseYearText</span><span class="p">,</span> <span class="s1">' / '</span> <span class="p">)</span> </span><span id="L-800"><a href="#L-800"><span class="linenos" data-line="800"></span></a> <span class="kr">end</span> </span><span id="L-801"><a href="#L-801"><span class="linenos" data-line="801"></span></a> <span class="kr">if</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">eraYear</span> <span class="kr">then</span> </span><span id="L-802"><a href="#L-802"><span class="linenos" data-line="802"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">japaneseYearText</span><span class="p">,</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%s %d'</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">link</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">eraYear</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-803"><a href="#L-803"><span class="linenos" data-line="803"></span></a> <span class="kr">end</span> </span><span id="L-804"><a href="#L-804"><span class="linenos" data-line="804"></span></a> <span class="nb">table.insert</span><span class="p">(</span> <span class="n">japaneseYearText</span><span class="p">,</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'<br />(%s%s年)'</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">kanji</span><span class="p">,</span> <span class="n">japanese</span><span class="p">.</span><span class="n">thisEra</span><span class="p">.</span><span class="n">eraYearKanji</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-805"><a href="#L-805"><span class="linenos" data-line="805"></span></a> <span class="n">japanese</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">table.concat</span><span class="p">(</span> <span class="n">japaneseYearText</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-806"><a href="#L-806"><span class="linenos" data-line="806"></span></a> <span class="kr">end</span> </span><span id="L-807"><a href="#L-807"><span class="linenos" data-line="807"></span></a> </span><span id="L-808"><a href="#L-808"><span class="linenos" data-line="808"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">japanese</span> <span class="p">)</span> </span><span id="L-809"><a href="#L-809"><span class="linenos" data-line="809"></span></a> <span class="kr">end</span> </span><span id="L-810"><a href="#L-810"><span class="linenos" data-line="810"></span></a> </span><span id="L-811"><a href="#L-811"><span class="linenos" data-line="811"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-812"><a href="#L-812"><span class="linenos" data-line="812"></span></a> <span class="c1">-- Javanese calendar</span> </span><span id="L-813"><a href="#L-813"><span class="linenos" data-line="813"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-814"><a href="#L-814"><span class="linenos" data-line="814"></span></a> </span><span id="L-815"><a href="#L-815"><span class="linenos" data-line="815"></span></a> <span class="kd">local</span> <span class="n">javanese</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-816"><a href="#L-816"><span class="linenos" data-line="816"></span></a> <span class="n">javanese</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Javanese calendar'</span> <span class="p">)</span> </span><span id="L-817"><a href="#L-817"><span class="linenos" data-line="817"></span></a> <span class="kd">local</span> <span class="n">javaneseMult</span> <span class="o">=</span> <span class="mf">1.030684</span> <span class="c1">-- the factor to multiply by</span> </span><span id="L-818"><a href="#L-818"><span class="linenos" data-line="818"></span></a> <span class="kd">local</span> <span class="n">javaneseSub</span> <span class="o">=</span> <span class="mf">124.9</span> <span class="c1">-- the factor to subtract by</span> </span><span id="L-819"><a href="#L-819"><span class="linenos" data-line="819"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">124</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-820"><a href="#L-820"><span class="linenos" data-line="820"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">javaneseMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">javaneseSub</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-821"><a href="#L-821"><span class="linenos" data-line="821"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="n">javaneseMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">javaneseSub</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-822"><a href="#L-822"><span class="linenos" data-line="822"></span></a> <span class="n">javanese</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year1</span><span class="p">,</span> <span class="n">year2</span> <span class="p">)</span> </span><span id="L-823"><a href="#L-823"><span class="linenos" data-line="823"></span></a> <span class="kr">else</span> </span><span id="L-824"><a href="#L-824"><span class="linenos" data-line="824"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="nb">math.ceil</span><span class="p">(</span> <span class="o">-</span><span class="n">javaneseMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">javaneseSub</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-825"><a href="#L-825"><span class="linenos" data-line="825"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="nb">math.ceil</span><span class="p">(</span> <span class="o">-</span><span class="n">javaneseMult</span> <span class="o">*</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="n">javaneseSub</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-826"><a href="#L-826"><span class="linenos" data-line="826"></span></a> <span class="kr">end</span> </span><span id="L-827"><a href="#L-827"><span class="linenos" data-line="827"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">javanese</span> <span class="p">)</span> </span><span id="L-828"><a href="#L-828"><span class="linenos" data-line="828"></span></a> </span><span id="L-829"><a href="#L-829"><span class="linenos" data-line="829"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-830"><a href="#L-830"><span class="linenos" data-line="830"></span></a> <span class="c1">-- Juche calendar</span> </span><span id="L-831"><a href="#L-831"><span class="linenos" data-line="831"></span></a> <span class="c1">-- displays only after 1910</span> </span><span id="L-832"><a href="#L-832"><span class="linenos" data-line="832"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-833"><a href="#L-833"><span class="linenos" data-line="833"></span></a> </span><span id="L-834"><a href="#L-834"><span class="linenos" data-line="834"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1910</span> <span class="kr">then</span> </span><span id="L-835"><a href="#L-835"><span class="linenos" data-line="835"></span></a> <span class="kd">local</span> <span class="n">juche</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-836"><a href="#L-836"><span class="linenos" data-line="836"></span></a> <span class="n">juche</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Juche calendar'</span> <span class="p">)</span> </span><span id="L-837"><a href="#L-837"><span class="linenos" data-line="837"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="mi">1911</span> <span class="kr">then</span> </span><span id="L-838"><a href="#L-838"><span class="linenos" data-line="838"></span></a> <span class="n">juche</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1911</span> <span class="p">)</span> </span><span id="L-839"><a href="#L-839"><span class="linenos" data-line="839"></span></a> <span class="kr">end</span> </span><span id="L-840"><a href="#L-840"><span class="linenos" data-line="840"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">juche</span> <span class="p">)</span> </span><span id="L-841"><a href="#L-841"><span class="linenos" data-line="841"></span></a> <span class="kr">end</span> </span><span id="L-842"><a href="#L-842"><span class="linenos" data-line="842"></span></a> </span><span id="L-843"><a href="#L-843"><span class="linenos" data-line="843"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-844"><a href="#L-844"><span class="linenos" data-line="844"></span></a> <span class="c1">-- Julian calendar</span> </span><span id="L-845"><a href="#L-845"><span class="linenos" data-line="845"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-846"><a href="#L-846"><span class="linenos" data-line="846"></span></a> </span><span id="L-847"><a href="#L-847"><span class="linenos" data-line="847"></span></a> <span class="kd">local</span> <span class="n">julian</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-848"><a href="#L-848"><span class="linenos" data-line="848"></span></a> <span class="n">julian</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Julian calendar'</span> <span class="p">)</span> </span><span id="L-849"><a href="#L-849"><span class="linenos" data-line="849"></span></a> </span><span id="L-850"><a href="#L-850"><span class="linenos" data-line="850"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="o">-</span><span class="mi">45</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><</span> <span class="mi">1582</span> <span class="kr">then</span> </span><span id="L-851"><a href="#L-851"><span class="linenos" data-line="851"></span></a> <span class="n">julian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span><span class="n">gregorian</span><span class="p">.</span><span class="n">year</span><span class="p">)</span> </span><span id="L-852"><a href="#L-852"><span class="linenos" data-line="852"></span></a> <span class="kr">elseif</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1582</span> <span class="kr">then</span> </span><span id="L-853"><a href="#L-853"><span class="linenos" data-line="853"></span></a> <span class="kd">local</span> <span class="n">diff</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">year</span><span class="o">/</span><span class="mi">100</span><span class="o">-</span><span class="mi">2</span><span class="p">)</span> <span class="o">-</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">year</span><span class="o">/</span><span class="mi">400</span><span class="p">)</span> </span><span id="L-854"><a href="#L-854"><span class="linenos" data-line="854"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">%</span> <span class="mi">100</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">year</span> <span class="o">%</span> <span class="mi">400</span> <span class="o">~=</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-855"><a href="#L-855"><span class="linenos" data-line="855"></span></a> <span class="n">julian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span><span class="s1">'Gregorian minus '</span> <span class="o">..</span> <span class="n">diff</span><span class="o">-</span><span class="mi">1</span> <span class="o">..</span> <span class="s1">' or '</span> <span class="o">..</span> <span class="n">diff</span> <span class="o">..</span> <span class="s1">' days'</span><span class="p">)</span> </span><span id="L-856"><a href="#L-856"><span class="linenos" data-line="856"></span></a> <span class="kr">else</span> </span><span id="L-857"><a href="#L-857"><span class="linenos" data-line="857"></span></a> <span class="n">julian</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span><span class="s1">'Gregorian minus '</span> <span class="o">..</span> <span class="n">diff</span> <span class="o">..</span> <span class="s1">' days'</span><span class="p">)</span> </span><span id="L-858"><a href="#L-858"><span class="linenos" data-line="858"></span></a> <span class="kr">end</span> </span><span id="L-859"><a href="#L-859"><span class="linenos" data-line="859"></span></a> <span class="kr">end</span> </span><span id="L-860"><a href="#L-860"><span class="linenos" data-line="860"></span></a> </span><span id="L-861"><a href="#L-861"><span class="linenos" data-line="861"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">julian</span> <span class="p">)</span> </span><span id="L-862"><a href="#L-862"><span class="linenos" data-line="862"></span></a> </span><span id="L-863"><a href="#L-863"><span class="linenos" data-line="863"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-864"><a href="#L-864"><span class="linenos" data-line="864"></span></a> <span class="c1">-- Korean calendar</span> </span><span id="L-865"><a href="#L-865"><span class="linenos" data-line="865"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-866"><a href="#L-866"><span class="linenos" data-line="866"></span></a> </span><span id="L-867"><a href="#L-867"><span class="linenos" data-line="867"></span></a> <span class="kd">local</span> <span class="n">korean</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-868"><a href="#L-868"><span class="linenos" data-line="868"></span></a> <span class="n">korean</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Korean calendar'</span> <span class="p">)</span> </span><span id="L-869"><a href="#L-869"><span class="linenos" data-line="869"></span></a> <span class="n">korean</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">2333</span> <span class="p">)</span> </span><span id="L-870"><a href="#L-870"><span class="linenos" data-line="870"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">korean</span> <span class="p">)</span> </span><span id="L-871"><a href="#L-871"><span class="linenos" data-line="871"></span></a> </span><span id="L-872"><a href="#L-872"><span class="linenos" data-line="872"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-873"><a href="#L-873"><span class="linenos" data-line="873"></span></a> <span class="c1">-- Minguo calendar</span> </span><span id="L-874"><a href="#L-874"><span class="linenos" data-line="874"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-875"><a href="#L-875"><span class="linenos" data-line="875"></span></a> </span><span id="L-876"><a href="#L-876"><span class="linenos" data-line="876"></span></a> <span class="kd">local</span> <span class="n">minguo</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-877"><a href="#L-877"><span class="linenos" data-line="877"></span></a> <span class="n">minguo</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Minguo calendar'</span> <span class="p">)</span> </span><span id="L-878"><a href="#L-878"><span class="linenos" data-line="878"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">></span> <span class="mi">1949</span> <span class="kr">then</span> </span><span id="L-879"><a href="#L-879"><span class="linenos" data-line="879"></span></a> <span class="kd">local</span> <span class="n">minguoYear</span> <span class="o">=</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1911</span> </span><span id="L-880"><a href="#L-880"><span class="linenos" data-line="880"></span></a> <span class="n">minguo</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[Taiwan|ROC]] %d<br />民國%d年'</span><span class="p">,</span> <span class="n">minguoYear</span><span class="p">,</span> <span class="n">minguoYear</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-881"><a href="#L-881"><span class="linenos" data-line="881"></span></a> <span class="kr">elseif</span> <span class="n">year</span> <span class="o">></span> <span class="mi">1911</span> <span class="kr">then</span> </span><span id="L-882"><a href="#L-882"><span class="linenos" data-line="882"></span></a> <span class="kd">local</span> <span class="n">minguoYear</span> <span class="o">=</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1911</span> </span><span id="L-883"><a href="#L-883"><span class="linenos" data-line="883"></span></a> <span class="n">minguo</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年'</span><span class="p">,</span> <span class="n">minguoYear</span><span class="p">,</span> <span class="n">minguoYear</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-884"><a href="#L-884"><span class="linenos" data-line="884"></span></a> <span class="kr">else</span> </span><span id="L-885"><a href="#L-885"><span class="linenos" data-line="885"></span></a> <span class="kd">local</span> <span class="n">minguoYear</span> <span class="o">=</span> <span class="mi">1911</span> <span class="o">-</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-886"><a href="#L-886"><span class="linenos" data-line="886"></span></a> <span class="n">minguo</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年'</span><span class="p">,</span> <span class="n">minguoYear</span><span class="p">,</span> <span class="n">minguoYear</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-887"><a href="#L-887"><span class="linenos" data-line="887"></span></a> <span class="kr">end</span> </span><span id="L-888"><a href="#L-888"><span class="linenos" data-line="888"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">minguo</span> <span class="p">)</span> </span><span id="L-889"><a href="#L-889"><span class="linenos" data-line="889"></span></a> </span><span id="L-890"><a href="#L-890"><span class="linenos" data-line="890"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-891"><a href="#L-891"><span class="linenos" data-line="891"></span></a> <span class="c1">-- Nanakshahi calendar</span> </span><span id="L-892"><a href="#L-892"><span class="linenos" data-line="892"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-893"><a href="#L-893"><span class="linenos" data-line="893"></span></a> </span><span id="L-894"><a href="#L-894"><span class="linenos" data-line="894"></span></a> <span class="kd">local</span> <span class="n">nanakshahi</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-895"><a href="#L-895"><span class="linenos" data-line="895"></span></a> <span class="n">nanakshahi</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Nanakshahi calendar'</span> <span class="p">)</span> </span><span id="L-896"><a href="#L-896"><span class="linenos" data-line="896"></span></a> <span class="n">nanakshahi</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">1468</span> <span class="p">)</span> </span><span id="L-897"><a href="#L-897"><span class="linenos" data-line="897"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">nanakshahi</span> <span class="p">)</span> </span><span id="L-898"><a href="#L-898"><span class="linenos" data-line="898"></span></a> </span><span id="L-899"><a href="#L-899"><span class="linenos" data-line="899"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-900"><a href="#L-900"><span class="linenos" data-line="900"></span></a> <span class="c1">-- Seleucid era</span> </span><span id="L-901"><a href="#L-901"><span class="linenos" data-line="901"></span></a> <span class="c1">-- displays from 312 BC until 1200 AD</span> </span><span id="L-902"><a href="#L-902"><span class="linenos" data-line="902"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-903"><a href="#L-903"><span class="linenos" data-line="903"></span></a> </span><span id="L-904"><a href="#L-904"><span class="linenos" data-line="904"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="o">-</span><span class="mi">311</span> <span class="ow">and</span> <span class="n">year</span> <span class="o"><</span> <span class="mi">1200</span> <span class="kr">then</span> </span><span id="L-905"><a href="#L-905"><span class="linenos" data-line="905"></span></a> <span class="kd">local</span> <span class="n">seleucid</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-906"><a href="#L-906"><span class="linenos" data-line="906"></span></a> <span class="n">seleucid</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Seleucid era'</span> <span class="p">)</span> </span><span id="L-907"><a href="#L-907"><span class="linenos" data-line="907"></span></a> <span class="kd">local</span> <span class="n">addtext</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> <span class="s1">'[[Anno Graecorum|AG]]'</span><span class="p">)</span> </span><span id="L-908"><a href="#L-908"><span class="linenos" data-line="908"></span></a> <span class="n">seleucid</span><span class="p">:</span><span class="n">setYearCouple</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">311</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">312</span><span class="p">,</span> <span class="n">addtext</span> <span class="p">)</span> </span><span id="L-909"><a href="#L-909"><span class="linenos" data-line="909"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">seleucid</span> <span class="p">)</span> </span><span id="L-910"><a href="#L-910"><span class="linenos" data-line="910"></span></a> <span class="kr">end</span> </span><span id="L-911"><a href="#L-911"><span class="linenos" data-line="911"></span></a> </span><span id="L-912"><a href="#L-912"><span class="linenos" data-line="912"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-913"><a href="#L-913"><span class="linenos" data-line="913"></span></a> <span class="c1">-- Thai solar calendar</span> </span><span id="L-914"><a href="#L-914"><span class="linenos" data-line="914"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-915"><a href="#L-915"><span class="linenos" data-line="915"></span></a> </span><span id="L-916"><a href="#L-916"><span class="linenos" data-line="916"></span></a> <span class="kd">local</span> <span class="n">thai</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-917"><a href="#L-917"><span class="linenos" data-line="917"></span></a> <span class="n">thai</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Thai solar calendar'</span> <span class="p">)</span> </span><span id="L-918"><a href="#L-918"><span class="linenos" data-line="918"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o">>=</span> <span class="mi">1941</span> <span class="kr">then</span> </span><span id="L-919"><a href="#L-919"><span class="linenos" data-line="919"></span></a> <span class="n">thai</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">543</span> <span class="p">)</span> </span><span id="L-920"><a href="#L-920"><span class="linenos" data-line="920"></span></a> <span class="kr">else</span> <span class="c1">-- if year >= 1912 or year <= 1887 -- year started in March/April</span> </span><span id="L-921"><a href="#L-921"><span class="linenos" data-line="921"></span></a> <span class="n">thai</span><span class="p">:</span><span class="n">setYearRange</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">542</span><span class="p">,</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">543</span> <span class="p">)</span> </span><span id="L-922"><a href="#L-922"><span class="linenos" data-line="922"></span></a> <span class="c1">-- else -- Rattanakosin Era, 1888?-1912</span> </span><span id="L-923"><a href="#L-923"><span class="linenos" data-line="923"></span></a> <span class="c1">-- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) )</span> </span><span id="L-924"><a href="#L-924"><span class="linenos" data-line="924"></span></a> <span class="kr">end</span> </span><span id="L-925"><a href="#L-925"><span class="linenos" data-line="925"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">thai</span> <span class="p">)</span> </span><span id="L-926"><a href="#L-926"><span class="linenos" data-line="926"></span></a> </span><span id="L-927"><a href="#L-927"><span class="linenos" data-line="927"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-928"><a href="#L-928"><span class="linenos" data-line="928"></span></a> <span class="c1">-- Tibetan calendar</span> </span><span id="L-929"><a href="#L-929"><span class="linenos" data-line="929"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-930"><a href="#L-930"><span class="linenos" data-line="930"></span></a> </span><span id="L-931"><a href="#L-931"><span class="linenos" data-line="931"></span></a> <span class="kd">local</span> <span class="n">tibetan</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-932"><a href="#L-932"><span class="linenos" data-line="932"></span></a> <span class="n">tibetan</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Tibetan calendar'</span> <span class="p">)</span> </span><span id="L-933"><a href="#L-933"><span class="linenos" data-line="933"></span></a> </span><span id="L-934"><a href="#L-934"><span class="linenos" data-line="934"></span></a> <span class="c1">-- Define the information for the "heavenly stems" and "earthly branches" year cycles.</span> </span><span id="L-935"><a href="#L-935"><span class="linenos" data-line="935"></span></a> <span class="c1">-- See [[Tibetan calendar#Years]] for information.</span> </span><span id="L-936"><a href="#L-936"><span class="linenos" data-line="936"></span></a> </span><span id="L-937"><a href="#L-937"><span class="linenos" data-line="937"></span></a> <span class="kd">local</span> <span class="n">heavenlyStems</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-938"><a href="#L-938"><span class="linenos" data-line="938"></span></a> <span class="p">{</span> <span class="s1">'阳木'</span><span class="p">,</span> <span class="s1">'male Wood'</span> <span class="p">},</span> <span class="c1">-- 1</span> </span><span id="L-939"><a href="#L-939"><span class="linenos" data-line="939"></span></a> <span class="p">{</span> <span class="s1">'阴木'</span><span class="p">,</span> <span class="s1">'female Wood'</span> <span class="p">},</span> <span class="c1">-- 2</span> </span><span id="L-940"><a href="#L-940"><span class="linenos" data-line="940"></span></a> <span class="p">{</span> <span class="s1">'阳火'</span><span class="p">,</span> <span class="s1">'male Fire'</span> <span class="p">},</span> <span class="c1">-- 3</span> </span><span id="L-941"><a href="#L-941"><span class="linenos" data-line="941"></span></a> <span class="p">{</span> <span class="s1">'阴火'</span><span class="p">,</span> <span class="s1">'female Fire'</span> <span class="p">},</span> <span class="c1">-- 4</span> </span><span id="L-942"><a href="#L-942"><span class="linenos" data-line="942"></span></a> <span class="p">{</span> <span class="s1">'阳土'</span><span class="p">,</span> <span class="s1">'male Earth'</span> <span class="p">},</span> <span class="c1">-- 5</span> </span><span id="L-943"><a href="#L-943"><span class="linenos" data-line="943"></span></a> <span class="p">{</span> <span class="s1">'阴土'</span><span class="p">,</span> <span class="s1">'female Earth'</span> <span class="p">},</span> <span class="c1">-- 6</span> </span><span id="L-944"><a href="#L-944"><span class="linenos" data-line="944"></span></a> <span class="p">{</span> <span class="s1">'阳金'</span><span class="p">,</span> <span class="s1">'male Iron'</span> <span class="p">},</span> <span class="c1">-- 7</span> </span><span id="L-945"><a href="#L-945"><span class="linenos" data-line="945"></span></a> <span class="p">{</span> <span class="s1">'阴金'</span><span class="p">,</span> <span class="s1">'female Iron'</span> <span class="p">},</span> <span class="c1">-- 8</span> </span><span id="L-946"><a href="#L-946"><span class="linenos" data-line="946"></span></a> <span class="p">{</span> <span class="s1">'阳水'</span><span class="p">,</span> <span class="s1">'male Water'</span> <span class="p">},</span> <span class="c1">-- 9</span> </span><span id="L-947"><a href="#L-947"><span class="linenos" data-line="947"></span></a> <span class="p">{</span> <span class="s1">'阴水'</span><span class="p">,</span> <span class="s1">'female Water'</span> <span class="p">}</span> <span class="c1">-- 10</span> </span><span id="L-948"><a href="#L-948"><span class="linenos" data-line="948"></span></a> <span class="p">}</span> </span><span id="L-949"><a href="#L-949"><span class="linenos" data-line="949"></span></a> </span><span id="L-950"><a href="#L-950"><span class="linenos" data-line="950"></span></a> <span class="kd">local</span> <span class="n">earthlyBranches</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-951"><a href="#L-951"><span class="linenos" data-line="951"></span></a> <span class="p">{</span> <span class="s1">'鼠'</span><span class="p">,</span> <span class="s1">'[[Rat (zodiac)|Rat]]'</span> <span class="p">},</span> <span class="c1">-- 1</span> </span><span id="L-952"><a href="#L-952"><span class="linenos" data-line="952"></span></a> <span class="p">{</span> <span class="s1">'牛'</span><span class="p">,</span> <span class="s1">'[[Ox (zodiac)|Ox]]'</span> <span class="p">},</span> <span class="c1">-- 2</span> </span><span id="L-953"><a href="#L-953"><span class="linenos" data-line="953"></span></a> <span class="p">{</span> <span class="s1">'虎'</span><span class="p">,</span> <span class="s1">'[[Tiger (zodiac)|Tiger]]'</span> <span class="p">},</span> <span class="c1">-- 3</span> </span><span id="L-954"><a href="#L-954"><span class="linenos" data-line="954"></span></a> <span class="p">{</span> <span class="s1">'兔'</span><span class="p">,</span> <span class="s1">'[[Rabbit (zodiac)|Rabbit]]'</span> <span class="p">},</span> <span class="c1">-- 4</span> </span><span id="L-955"><a href="#L-955"><span class="linenos" data-line="955"></span></a> <span class="p">{</span> <span class="s1">'龙'</span><span class="p">,</span> <span class="s1">'[[Dragon (zodiac)|Dragon]]'</span> <span class="p">},</span> <span class="c1">-- 5</span> </span><span id="L-956"><a href="#L-956"><span class="linenos" data-line="956"></span></a> <span class="p">{</span> <span class="s1">'蛇'</span><span class="p">,</span> <span class="s1">'[[Snake (zodiac)|Snake]]'</span> <span class="p">},</span> <span class="c1">-- 6</span> </span><span id="L-957"><a href="#L-957"><span class="linenos" data-line="957"></span></a> <span class="p">{</span> <span class="s1">'马'</span><span class="p">,</span> <span class="s1">'[[Horse (zodiac)|Horse]]'</span> <span class="p">},</span> <span class="c1">-- 7</span> </span><span id="L-958"><a href="#L-958"><span class="linenos" data-line="958"></span></a> <span class="p">{</span> <span class="s1">'羊'</span><span class="p">,</span> <span class="s1">'[[Goat (zodiac)|Goat]]'</span> <span class="p">},</span> <span class="c1">-- 8</span> </span><span id="L-959"><a href="#L-959"><span class="linenos" data-line="959"></span></a> <span class="p">{</span> <span class="s1">'猴'</span><span class="p">,</span> <span class="s1">'[[Monkey (zodiac)|Monkey]]'</span> <span class="p">},</span> <span class="c1">-- 9</span> </span><span id="L-960"><a href="#L-960"><span class="linenos" data-line="960"></span></a> <span class="p">{</span> <span class="s1">'鸡'</span><span class="p">,</span> <span class="s1">'[[Rooster (zodiac)|Rooster]]'</span> <span class="p">},</span> <span class="c1">-- 10</span> </span><span id="L-961"><a href="#L-961"><span class="linenos" data-line="961"></span></a> <span class="p">{</span> <span class="s1">'狗'</span><span class="p">,</span> <span class="s1">'[[Dog (zodiac)|Dog]]'</span> <span class="p">},</span> <span class="c1">-- 11</span> </span><span id="L-962"><a href="#L-962"><span class="linenos" data-line="962"></span></a> <span class="p">{</span> <span class="s1">'猪'</span><span class="p">,</span> <span class="s1">'[[Pig (zodiac)|Pig]]'</span> <span class="p">}</span> <span class="c1">-- 12</span> </span><span id="L-963"><a href="#L-963"><span class="linenos" data-line="963"></span></a> <span class="p">}</span> </span><span id="L-964"><a href="#L-964"><span class="linenos" data-line="964"></span></a> </span><span id="L-965"><a href="#L-965"><span class="linenos" data-line="965"></span></a> <span class="c1">-- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry</span> </span><span id="L-966"><a href="#L-966"><span class="linenos" data-line="966"></span></a> <span class="c1">-- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in</span> </span><span id="L-967"><a href="#L-967"><span class="linenos" data-line="967"></span></a> <span class="c1">-- Gregorian years.</span> </span><span id="L-968"><a href="#L-968"><span class="linenos" data-line="968"></span></a> <span class="kd">local</span> <span class="n">sexagenaryYear1</span> <span class="o">=</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">4</span> <span class="p">)</span> <span class="o">%</span> <span class="mi">60</span> </span><span id="L-969"><a href="#L-969"><span class="linenos" data-line="969"></span></a> <span class="kd">local</span> <span class="n">sexagenaryYear2</span> <span class="o">=</span> <span class="p">(</span> <span class="n">year</span> <span class="o">-</span> <span class="mi">3</span> <span class="p">)</span> <span class="o">%</span> <span class="mi">60</span> </span><span id="L-970"><a href="#L-970"><span class="linenos" data-line="970"></span></a> <span class="kd">local</span> <span class="n">heavenlyNum1</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear1</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">10</span> <span class="o">+</span> <span class="mi">1</span> <span class="c1">-- amod, since lua arrays are 1-indexed</span> </span><span id="L-971"><a href="#L-971"><span class="linenos" data-line="971"></span></a> <span class="kd">local</span> <span class="n">heavenlyNum2</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear2</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">10</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-972"><a href="#L-972"><span class="linenos" data-line="972"></span></a> <span class="kd">local</span> <span class="n">earthlyNum1</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear1</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">12</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-973"><a href="#L-973"><span class="linenos" data-line="973"></span></a> <span class="kd">local</span> <span class="n">earthlyNum2</span> <span class="o">=</span> <span class="p">(</span><span class="n">sexagenaryYear2</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">%</span> <span class="mi">12</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-974"><a href="#L-974"><span class="linenos" data-line="974"></span></a> </span><span id="L-975"><a href="#L-975"><span class="linenos" data-line="975"></span></a> <span class="c1">-- Get the data tables for each permutation.</span> </span><span id="L-976"><a href="#L-976"><span class="linenos" data-line="976"></span></a> <span class="kd">local</span> <span class="n">heavenlyTable1</span> <span class="o">=</span> <span class="n">heavenlyStems</span><span class="p">[</span> <span class="n">heavenlyNum1</span> <span class="p">]</span> </span><span id="L-977"><a href="#L-977"><span class="linenos" data-line="977"></span></a> <span class="kd">local</span> <span class="n">heavenlyTable2</span> <span class="o">=</span> <span class="n">heavenlyStems</span><span class="p">[</span> <span class="n">heavenlyNum2</span> <span class="p">]</span> </span><span id="L-978"><a href="#L-978"><span class="linenos" data-line="978"></span></a> <span class="kd">local</span> <span class="n">earthlyTable1</span> <span class="o">=</span> <span class="n">earthlyBranches</span><span class="p">[</span> <span class="n">earthlyNum1</span> <span class="p">]</span> </span><span id="L-979"><a href="#L-979"><span class="linenos" data-line="979"></span></a> <span class="kd">local</span> <span class="n">earthlyTable2</span> <span class="o">=</span> <span class="n">earthlyBranches</span><span class="p">[</span> <span class="n">earthlyNum2</span> <span class="p">]</span> </span><span id="L-980"><a href="#L-980"><span class="linenos" data-line="980"></span></a> </span><span id="L-981"><a href="#L-981"><span class="linenos" data-line="981"></span></a> <span class="c1">-- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].)</span> </span><span id="L-982"><a href="#L-982"><span class="linenos" data-line="982"></span></a> <span class="kd">local</span> <span class="n">year1</span> <span class="o">=</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">126</span> </span><span id="L-983"><a href="#L-983"><span class="linenos" data-line="983"></span></a> <span class="kd">local</span> <span class="n">year2</span> <span class="o">=</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">127</span> </span><span id="L-984"><a href="#L-984"><span class="linenos" data-line="984"></span></a> <span class="kd">local</span> <span class="n">year1Alt1</span> <span class="o">=</span> <span class="n">year1</span> <span class="o">-</span> <span class="mi">381</span> </span><span id="L-985"><a href="#L-985"><span class="linenos" data-line="985"></span></a> <span class="kd">local</span> <span class="n">year1Alt2</span> <span class="o">=</span> <span class="n">year1</span> <span class="o">-</span> <span class="mi">1153</span> </span><span id="L-986"><a href="#L-986"><span class="linenos" data-line="986"></span></a> <span class="kd">local</span> <span class="n">year2Alt1</span> <span class="o">=</span> <span class="n">year2</span> <span class="o">-</span> <span class="mi">381</span> </span><span id="L-987"><a href="#L-987"><span class="linenos" data-line="987"></span></a> <span class="kd">local</span> <span class="n">year2Alt2</span> <span class="o">=</span> <span class="n">year2</span> <span class="o">-</span> <span class="mi">1153</span> </span><span id="L-988"><a href="#L-988"><span class="linenos" data-line="988"></span></a> </span><span id="L-989"><a href="#L-989"><span class="linenos" data-line="989"></span></a> <span class="c1">-- Format any negative numbers.</span> </span><span id="L-990"><a href="#L-990"><span class="linenos" data-line="990"></span></a> <span class="n">year1</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-991"><a href="#L-991"><span class="linenos" data-line="991"></span></a> <span class="n">year2</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-992"><a href="#L-992"><span class="linenos" data-line="992"></span></a> <span class="n">year1Alt1</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year1Alt1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-993"><a href="#L-993"><span class="linenos" data-line="993"></span></a> <span class="n">year1Alt2</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year1Alt2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-994"><a href="#L-994"><span class="linenos" data-line="994"></span></a> <span class="n">year2Alt1</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year2Alt1</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-995"><a href="#L-995"><span class="linenos" data-line="995"></span></a> <span class="n">year2Alt2</span> <span class="o">=</span> <span class="n">formatNegative</span><span class="p">(</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year2Alt2</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-996"><a href="#L-996"><span class="linenos" data-line="996"></span></a> </span><span id="L-997"><a href="#L-997"><span class="linenos" data-line="997"></span></a> <span class="c1">-- Return all of that data in a (hopefully) reader-friendly format.</span> </span><span id="L-998"><a href="#L-998"><span class="linenos" data-line="998"></span></a> <span class="n">tibetan</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-999"><a href="#L-999"><span class="linenos" data-line="999"></span></a> <span class="s">[=[%s%s年<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%s年<br />(%s-%s)<br />%s or %s or %s]=]</span><span class="p">,</span> </span><span id="L-1000"><a href="#L-1000"><span class="linenos" data-line="1000"></span></a> <span class="n">heavenlyTable1</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-1001"><a href="#L-1001"><span class="linenos" data-line="1001"></span></a> <span class="n">earthlyTable1</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-1002"><a href="#L-1002"><span class="linenos" data-line="1002"></span></a> <span class="n">heavenlyTable1</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-1003"><a href="#L-1003"><span class="linenos" data-line="1003"></span></a> <span class="n">earthlyTable1</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-1004"><a href="#L-1004"><span class="linenos" data-line="1004"></span></a> <span class="n">year1</span><span class="p">,</span> </span><span id="L-1005"><a href="#L-1005"><span class="linenos" data-line="1005"></span></a> <span class="n">year1Alt1</span><span class="p">,</span> </span><span id="L-1006"><a href="#L-1006"><span class="linenos" data-line="1006"></span></a> <span class="n">year1Alt2</span><span class="p">,</span> </span><span id="L-1007"><a href="#L-1007"><span class="linenos" data-line="1007"></span></a> <span class="n">heavenlyTable2</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-1008"><a href="#L-1008"><span class="linenos" data-line="1008"></span></a> <span class="n">earthlyTable2</span><span class="p">[</span> <span class="mi">1</span> <span class="p">],</span> </span><span id="L-1009"><a href="#L-1009"><span class="linenos" data-line="1009"></span></a> <span class="n">heavenlyTable2</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-1010"><a href="#L-1010"><span class="linenos" data-line="1010"></span></a> <span class="n">earthlyTable2</span><span class="p">[</span> <span class="mi">2</span> <span class="p">],</span> </span><span id="L-1011"><a href="#L-1011"><span class="linenos" data-line="1011"></span></a> <span class="n">year2</span><span class="p">,</span> </span><span id="L-1012"><a href="#L-1012"><span class="linenos" data-line="1012"></span></a> <span class="n">year2Alt1</span><span class="p">,</span> </span><span id="L-1013"><a href="#L-1013"><span class="linenos" data-line="1013"></span></a> <span class="n">year2Alt2</span> </span><span id="L-1014"><a href="#L-1014"><span class="linenos" data-line="1014"></span></a> <span class="p">)</span> <span class="p">)</span> </span><span id="L-1015"><a href="#L-1015"><span class="linenos" data-line="1015"></span></a> </span><span id="L-1016"><a href="#L-1016"><span class="linenos" data-line="1016"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">tibetan</span> <span class="p">)</span> </span><span id="L-1017"><a href="#L-1017"><span class="linenos" data-line="1017"></span></a> </span><span id="L-1018"><a href="#L-1018"><span class="linenos" data-line="1018"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-1019"><a href="#L-1019"><span class="linenos" data-line="1019"></span></a> <span class="c1">-- Unix time</span> </span><span id="L-1020"><a href="#L-1020"><span class="linenos" data-line="1020"></span></a> <span class="c1">----------------------------------------------------------------------</span> </span><span id="L-1021"><a href="#L-1021"><span class="linenos" data-line="1021"></span></a> </span><span id="L-1022"><a href="#L-1022"><span class="linenos" data-line="1022"></span></a> <span class="kd">local</span> <span class="n">unix</span> <span class="o">=</span> <span class="n">calendar</span><span class="p">:</span><span class="n">new</span><span class="p">()</span> </span><span id="L-1023"><a href="#L-1023"><span class="linenos" data-line="1023"></span></a> </span><span id="L-1024"><a href="#L-1024"><span class="linenos" data-line="1024"></span></a> <span class="kd">local</span> <span class="kr">function</span> <span class="nf">getUnixTime</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-1025"><a href="#L-1025"><span class="linenos" data-line="1025"></span></a> <span class="kr">if</span> <span class="n">year</span> <span class="o"><</span> <span class="mi">1970</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-1026"><a href="#L-1026"><span class="linenos" data-line="1026"></span></a> <span class="kd">local</span> <span class="n">noError</span><span class="p">,</span> <span class="n">unixTime</span> <span class="o">=</span> <span class="nb">pcall</span><span class="p">(</span> <span class="n">lang</span><span class="p">.</span><span class="n">formatDate</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="s1">'U'</span><span class="p">,</span> <span class="s1">'1 Jan '</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-1027"><a href="#L-1027"><span class="linenos" data-line="1027"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">noError</span> <span class="ow">or</span> <span class="n">noError</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">unixTime</span> <span class="kr">then</span> <span class="kr">return</span> <span class="kr">end</span> </span><span id="L-1028"><a href="#L-1028"><span class="linenos" data-line="1028"></span></a> <span class="n">unixTime</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">unixTime</span> <span class="p">)</span> </span><span id="L-1029"><a href="#L-1029"><span class="linenos" data-line="1029"></span></a> <span class="kr">if</span> <span class="n">unixTime</span> <span class="ow">and</span> <span class="n">unixTime</span> <span class="o">>=</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-1030"><a href="#L-1030"><span class="linenos" data-line="1030"></span></a> <span class="kr">return</span> <span class="n">unixTime</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-1031"><a href="#L-1031"><span class="linenos" data-line="1031"></span></a> <span class="kr">end</span> </span><span id="L-1032"><a href="#L-1032"><span class="linenos" data-line="1032"></span></a> <span class="kr">end</span> </span><span id="L-1033"><a href="#L-1033"><span class="linenos" data-line="1033"></span></a> <span class="n">unix</span><span class="p">.</span><span class="n">thisYear</span> <span class="o">=</span> <span class="n">getUnixTime</span><span class="p">(</span> <span class="n">year</span> <span class="p">)</span> </span><span id="L-1034"><a href="#L-1034"><span class="linenos" data-line="1034"></span></a> <span class="n">unix</span><span class="p">.</span><span class="n">nextYear</span> <span class="o">=</span> <span class="n">getUnixTime</span><span class="p">(</span> <span class="n">year</span> <span class="o">+</span> <span class="mi">1</span> <span class="p">)</span> </span><span id="L-1035"><a href="#L-1035"><span class="linenos" data-line="1035"></span></a> <span class="kr">if</span> <span class="n">unix</span><span class="p">.</span><span class="n">thisYear</span> <span class="ow">and</span> <span class="n">unix</span><span class="p">.</span><span class="n">nextYear</span> <span class="kr">then</span> </span><span id="L-1036"><a href="#L-1036"><span class="linenos" data-line="1036"></span></a> <span class="n">unix</span><span class="p">:</span><span class="n">setLink</span><span class="p">(</span> <span class="s1">'Unix time'</span> <span class="p">)</span> </span><span id="L-1037"><a href="#L-1037"><span class="linenos" data-line="1037"></span></a> <span class="n">unix</span><span class="p">:</span><span class="n">setYear</span><span class="p">(</span> <span class="p">(</span><span class="n">unix</span><span class="p">.</span><span class="n">thisYear</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">..</span> <span class="s2">" – "</span> <span class="o">..</span> <span class="n">unix</span><span class="p">.</span><span class="n">nextYear</span> <span class="p">)</span> </span><span id="L-1038"><a href="#L-1038"><span class="linenos" data-line="1038"></span></a> <span class="kr">end</span> </span><span id="L-1039"><a href="#L-1039"><span class="linenos" data-line="1039"></span></a> </span><span id="L-1040"><a href="#L-1040"><span class="linenos" data-line="1040"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">addCalendar</span><span class="p">(</span> <span class="n">unix</span> <span class="p">)</span> </span><span id="L-1041"><a href="#L-1041"><span class="linenos" data-line="1041"></span></a> </span><span id="L-1042"><a href="#L-1042"><span class="linenos" data-line="1042"></span></a> <span class="kr">return</span> <span class="n">box</span><span class="p">:</span><span class="n">export</span><span class="p">()</span> </span><span id="L-1043"><a href="#L-1043"><span class="linenos" data-line="1043"></span></a><span class="kr">end</span> </span><span id="L-1044"><a href="#L-1044"><span class="linenos" data-line="1044"></span></a> </span><span id="L-1045"><a href="#L-1045"><span class="linenos" data-line="1045"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-1046"><a href="#L-1046"><span class="linenos" data-line="1046"></span></a><span class="c1">-- Process arguments from #invoke</span> </span><span id="L-1047"><a href="#L-1047"><span class="linenos" data-line="1047"></span></a><span class="c1">--------------------------------------------------------------------</span> </span><span id="L-1048"><a href="#L-1048"><span class="linenos" data-line="1048"></span></a> </span><span id="L-1049"><a href="#L-1049"><span class="linenos" data-line="1049"></span></a><span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-1050"><a href="#L-1050"><span class="linenos" data-line="1050"></span></a> </span><span id="L-1051"><a href="#L-1051"><span class="linenos" data-line="1051"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1052"><a href="#L-1052"><span class="linenos" data-line="1052"></span></a> <span class="c1">-- Process the arguments and pass them to the box-building function.</span> </span><span id="L-1053"><a href="#L-1053"><span class="linenos" data-line="1053"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">getArgs</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-1054"><a href="#L-1054"><span class="linenos" data-line="1054"></span></a> <span class="c1">-- Pass year argument with 'year' parameter or without any name but first argument</span> </span><span id="L-1055"><a href="#L-1055"><span class="linenos" data-line="1055"></span></a> <span class="n">args</span><span class="p">.</span><span class="n">year</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">year</span> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> </span><span id="L-1056"><a href="#L-1056"><span class="linenos" data-line="1056"></span></a> <span class="kr">return</span> <span class="n">makeCalendarBox</span><span class="p">(</span> <span class="n">args</span> <span class="p">)</span> </span><span id="L-1057"><a href="#L-1057"><span class="linenos" data-line="1057"></span></a><span class="kr">end</span> </span><span id="L-1058"><a href="#L-1058"><span class="linenos" data-line="1058"></span></a> </span><span id="L-1059"><a href="#L-1059"><span class="linenos" data-line="1059"></span></a><span class="kr">return</span> <span class="n">p</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5c59558b9d‐bw4cj Cached time: 20241201063710 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, vary‐page‐id, show‐toc] CPU time usage: 0.209 seconds Real time usage: 0.315 seconds Preprocessor visited node count: 859/1000000 Post‐expand include size: 60842/2097152 bytes Template argument size: 2527/2097152 bytes Highest expansion depth: 17/100 Expensive parser function count: 23/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 12671/5000000 bytes Lua time usage: 0.120/10.000 seconds Lua memory usage: 2721387/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 163.009 1 -total 100.00% 163.009 1 Module:Year_in_various_calendars/doc 55.12% 89.843 1 Template:Year_in_various_calendars/doc 27.31% 44.524 1 Template:UF-hcal-auto 24.30% 39.617 1 Template:Microformat_message 19.94% 32.501 1 Template:High-use 19.21% 31.318 1 Template:Hlist 17.84% 29.082 5 Template:Pre 12.01% 19.572 2 Template:Braces 11.01% 17.945 1 Template:Lua --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Module:Year_in_various_calendars&oldid=1230626243">https://en.wikipedia.org/w/index.php?title=Module:Year_in_various_calendars&oldid=1230626243</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Modules_in_beta" title="Category:Modules in beta">Modules in beta</a></li><li><a href="/wiki/Category:Templates_generating_hCalendars" title="Category:Templates generating hCalendars">Templates generating hCalendars</a></li><li><a href="/wiki/Category:Time,_date_and_calendar_modules" title="Category:Time, date and calendar modules">Time, date and calendar modules</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden category: <ul><li><a href="/wiki/Category:Wikipedia_template-protected_modules" title="Category:Wikipedia template-protected modules">Wikipedia template-protected modules</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 23 June 2024, at 19:53<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Module:Year_in_various_calendars&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-bw4cj","wgBackendResponseTime":471,"wgPageParseReport":{"limitreport":{"cputime":"0.209","walltime":"0.315","ppvisitednodes":{"value":859,"limit":1000000},"postexpandincludesize":{"value":60842,"limit":2097152},"templateargumentsize":{"value":2527,"limit":2097152},"expansiondepth":{"value":17,"limit":100},"expensivefunctioncount":{"value":23,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":12671,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 163.009 1 -total","100.00% 163.009 1 Module:Year_in_various_calendars/doc"," 55.12% 89.843 1 Template:Year_in_various_calendars/doc"," 27.31% 44.524 1 Template:UF-hcal-auto"," 24.30% 39.617 1 Template:Microformat_message"," 19.94% 32.501 1 Template:High-use"," 19.21% 31.318 1 Template:Hlist"," 17.84% 29.082 5 Template:Pre"," 12.01% 19.572 2 Template:Braces"," 11.01% 17.945 1 Template:Lua"]},"scribunto":{"limitreport-timeusage":{"value":"0.120","limit":"10.000"},"limitreport-memusage":{"value":2721387,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-bw4cj","timestamp":"20241201063710","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>