Modul:Vorlage:Navigationsleiste Sonnenfinsternisse

Die Dokumentation für dieses Modul kann unter Modul:Vorlage:Navigationsleiste Sonnenfinsternisse/Doku erstellt werden

--[[
Modul für Hilfsfunktionen für Vorlage:Navigationsleiste Sonnenfinsternisse
]]

--[[
----------------------------------------------------------------------------
Globale Daten
----------------------------------------------------------------------------
]]

-- Sequentielle Liste aller Finsternisse von 1701 bis 2200 in Form YYYY-MM-DD. Letztes Zeichen ist Typ (T=total, A=annular, H=hyprid, P=partial)
local tabEclipse = {
 "1701-02-07A"
,"1701-08-04T"
,"1702-01-28A"
,"1702-07-24H"
,"1703-01-17H"
,"1703-07-14P"
,"1703-12-08P"
,"1704-01-07P"
,"1704-06-02A"
,"1704-11-27A"
,"1705-05-22H"
,"1705-11-16A"
,"1706-05-12T"
,"1706-11-05A"
,"1707-04-02P"
,"1707-05-02P"
,"1707-09-25P"
,"1707-10-25P"
,"1708-03-22A"
,"1708-09-14T"
,"1709-03-11A"
,"1709-09-04T"
,"1710-02-28A"
,"1710-08-24T"
,"1711-01-18P"
,"1711-02-17P"
,"1711-07-15P"
,"1712-01-08T"
,"1712-07-03A"
,"1712-12-28T"
,"1713-06-22A"
,"1713-12-17H"
,"1714-05-13P"
,"1714-06-12P"
,"1714-11-07P"
,"1714-12-07P"
,"1715-05-03T"
,"1715-10-27A"
,"1716-04-22T"
,"1716-10-15A"
,"1717-04-11H"
,"1717-10-04H"
,"1718-03-02P"
,"1718-08-26P"
,"1718-09-24P"
,"1719-02-19A"
,"1719-08-15T"
,"1720-02-08A"
,"1720-08-04A"
,"1721-01-27T"
,"1721-07-24P"
,"1721-12-19P"
,"1722-01-17P"
,"1722-06-13P"
,"1722-12-08A"
,"1723-06-03T"
,"1723-11-27A"
,"1724-05-22T"
,"1724-11-15A"
,"1725-04-13P"
,"1725-05-12P"
,"1725-10-06P"
,"1725-11-04P"
,"1726-04-02A"
,"1726-09-25T"
,"1727-03-22A"
,"1727-09-15T"
,"1728-03-10A"
,"1728-09-04T"
,"1729-01-29P"
,"1729-02-27P"
,"1729-07-26P"
,"1729-08-24P"
,"1730-01-18T"
,"1730-07-15A"
,"1731-01-08T"
,"1731-07-04A"
,"1731-12-29H"
,"1732-06-22P"
,"1732-11-17P"
,"1732-12-17P"
,"1733-05-13T"
,"1733-11-06A"
,"1734-05-03T"
,"1734-10-26A"
,"1735-04-23H"
,"1735-10-16H"
,"1736-03-12P"
,"1736-04-11P"
,"1736-09-05P"
,"1736-10-04P"
,"1737-03-01A"
,"1737-08-26T"
,"1738-02-18A"
,"1738-08-15A"
,"1739-02-08T"
,"1739-08-04A"
,"1739-12-30P"
,"1740-01-28P"
,"1740-06-24P"
,"1740-12-18A"
,"1741-06-13T"
,"1741-12-08A"
,"1742-06-03T"
,"1742-11-27A"
,"1743-04-24P"
,"1743-05-23P"
,"1743-10-17P"
,"1743-11-16P"
,"1744-04-12A"
,"1744-10-06T"
,"1745-04-02A"
,"1745-09-25T"
,"1746-03-22A"
,"1746-09-15T"
,"1747-02-09P"
,"1747-03-11P"
,"1747-08-06P"
,"1747-09-04P"
,"1748-01-30T"
,"1748-07-25A"
,"1749-01-18T"
,"1749-07-14A"
,"1750-01-08H"
,"1750-07-03P"
,"1750-11-29P"
,"1750-12-28P"
,"1751-05-25T"
,"1751-11-18A"
,"1752-05-13T"
,"1752-11-06A"
,"1753-05-03H"
,"1753-10-26H"
,"1754-03-23P"
,"1754-04-22P"
,"1754-09-16P"
,"1754-10-16P"
,"1755-03-12A"
,"1755-09-06T"
,"1756-03-01A"
,"1756-08-25A"
,"1757-02-18T"
,"1757-08-14A"
,"1758-01-09P"
,"1758-02-08P"
,"1758-07-05P"
,"1758-12-30A"
,"1759-06-24T"
,"1759-12-19A"
,"1760-06-13T"
,"1760-12-07A"
,"1761-05-04P"
,"1761-06-03P"
,"1761-11-26P"
,"1762-04-24A"
,"1762-10-17T"
,"1763-04-13A"
,"1763-10-07T"
,"1764-04-01A"
,"1764-09-25T"
,"1765-02-19P"
,"1765-03-21P"
,"1765-08-16P"
,"1765-09-15P"
,"1766-02-09T"
,"1766-08-05A"
,"1767-01-30T"
,"1767-07-25A"
,"1768-01-19H"
,"1768-07-14H"
,"1768-12-09P"
,"1769-01-08P"
,"1769-06-04T"
,"1769-11-28A"
,"1770-05-25T"
,"1770-11-17A"
,"1771-05-14H"
,"1771-11-06H"
,"1772-04-03P"
,"1772-05-02P"
,"1772-09-27P"
,"1772-10-26P"
,"1773-03-23A"
,"1773-09-16T"
,"1774-03-12A"
,"1774-09-06A"
,"1775-03-01T"
,"1775-08-26A"
,"1776-01-21P"
,"1776-02-19P"
,"1776-07-15P"
,"1776-08-14P"
,"1777-01-09A"
,"1777-07-05T"
,"1777-12-29A"
,"1778-06-24T"
,"1778-12-18A"
,"1779-05-16P"
,"1779-06-14P"
,"1779-12-07P"
,"1780-05-04A"
,"1780-10-27T"
,"1781-04-23A"
,"1781-10-17T"
,"1782-04-12A"
,"1782-10-07T"
,"1783-03-03P"
,"1783-04-01P"
,"1783-08-27P"
,"1783-09-26P"
,"1784-02-20T"
,"1784-08-16A"
,"1785-02-09T"
,"1785-08-05A"
,"1786-01-30H"
,"1786-07-25T"
,"1786-12-20P"
,"1787-01-19P"
,"1787-06-15T"
,"1787-12-09A"
,"1788-06-04T"
,"1788-11-27A"
,"1789-05-24H"
,"1789-11-17H"
,"1790-04-14P"
,"1790-05-14P"
,"1790-10-08P"
,"1790-11-06P"
,"1791-04-03A"
,"1791-09-27T"
,"1792-03-22A"
,"1792-09-16A"
,"1793-03-12T"
,"1793-09-05A"
,"1794-01-31P"
,"1794-03-01P"
,"1794-07-26P"
,"1794-08-25P"
,"1795-01-21A"
,"1795-07-16T"
,"1796-01-10A"
,"1796-07-04T"
,"1796-12-29A"
,"1797-06-24T"
,"1797-12-18P"
,"1798-05-15A"
,"1798-11-08T"
,"1799-05-05A"
,"1799-10-28T"
,"1800-04-24A"
,"1800-10-18T"
,"1801-03-14P"
,"1801-04-13P"
,"1801-09-08P"
,"1801-10-07P"
,"1802-03-04T"
,"1802-08-28A"
,"1803-02-21T"
,"1803-08-17A"
,"1804-02-11H"
,"1804-08-05T"
,"1805-01-01P"
,"1805-01-30P"
,"1805-06-26P"
,"1805-07-26P"
,"1805-12-21A"
,"1806-06-16T"
,"1806-12-10A"
,"1807-06-06H"
,"1807-11-29H"
,"1808-05-25P"
,"1808-10-19P"
,"1808-11-18P"
,"1809-04-14A"
,"1809-10-09T"
,"1810-04-04A"
,"1810-09-28A"
,"1811-03-24T"
,"1811-09-17A"
,"1812-02-12P"
,"1812-03-13P"
,"1812-08-07P"
,"1812-09-05P"
,"1813-02-01A"
,"1813-07-27T"
,"1814-01-21A"
,"1814-07-17T"
,"1815-01-10A"
,"1815-07-06T"
,"1815-12-30P"
,"1816-05-27A"
,"1816-11-19T"
,"1817-05-16A"
,"1817-11-09T"
,"1818-05-05A"
,"1818-10-29T"
,"1819-03-25P"
,"1819-04-24P"
,"1819-09-19P"
,"1819-10-19P"
,"1820-03-14T"
,"1820-09-07A"
,"1821-03-04T"
,"1821-08-27A"
,"1822-02-21A"
,"1822-08-16T"
,"1823-01-12P"
,"1823-02-11P"
,"1823-07-08P"
,"1823-08-06P"
,"1824-01-01A"
,"1824-06-26T"
,"1824-12-20A"
,"1825-06-16H"
,"1825-12-09H"
,"1826-06-05P"
,"1826-10-31P"
,"1826-11-29P"
,"1827-04-26A"
,"1827-10-20H"
,"1828-04-14H"
,"1828-10-09A"
,"1829-04-03T"
,"1829-09-28A"
,"1830-02-23P"
,"1830-03-24P"
,"1830-08-18P"
,"1830-09-17P"
,"1831-02-12A"
,"1831-08-07T"
,"1832-02-01A"
,"1832-07-27T"
,"1833-01-20A"
,"1833-07-17T"
,"1834-01-09P"
,"1834-06-07P"
,"1834-11-30T"
,"1835-05-27A"
,"1835-11-20T"
,"1836-05-15A"
,"1836-11-09T"
,"1837-04-05P"
,"1837-05-04P"
,"1837-10-29P"
,"1838-03-25T"
,"1838-09-18A"
,"1839-03-15T"
,"1839-09-07A"
,"1840-03-04A"
,"1840-08-27T"
,"1841-01-22P"
,"1841-02-21P"
,"1841-07-18P"
,"1841-08-16P"
,"1842-01-11A"
,"1842-07-08T"
,"1842-12-31A"
,"1843-06-27H"
,"1843-12-21T"
,"1844-06-16P"
,"1844-11-10P"
,"1844-12-09P"
,"1845-05-06A"
,"1845-10-30H"
,"1846-04-25H"
,"1846-10-20A"
,"1847-04-15T"
,"1847-10-09A"
,"1848-03-05P"
,"1848-04-03P"
,"1848-08-28P"
,"1848-09-27P"
,"1849-02-23A"
,"1849-08-18T"
,"1850-02-12A"
,"1850-08-07T"
,"1851-02-01A"
,"1851-07-28T"
,"1852-01-21P"
,"1852-06-17P"
,"1852-12-11T"
,"1853-06-06A"
,"1853-11-30T"
,"1854-05-26A"
,"1854-11-20H"
,"1855-05-16P"
,"1855-11-09P"
,"1856-04-05T"
,"1856-09-29A"
,"1857-03-25T"
,"1857-09-18A"
,"1858-03-15A"
,"1858-09-07T"
,"1859-02-03P"
,"1859-03-04P"
,"1859-07-29P"
,"1859-08-28P"
,"1860-01-23A"
,"1860-07-18T"
,"1861-01-11A"
,"1861-07-08A"
,"1861-12-31T"
,"1862-06-27P"
,"1862-11-21P"
,"1862-12-21P"
,"1863-05-17P"
,"1863-11-11A"
,"1864-05-06H"
,"1864-10-30A"
,"1865-04-25T"
,"1865-10-19A"
,"1866-03-16P"
,"1866-04-15P"
,"1866-10-08P"
,"1867-03-06A"
,"1867-08-29T"
,"1868-02-23A"
,"1868-08-18T"
,"1869-02-11A"
,"1869-08-07T"
,"1870-01-31P"
,"1870-06-28P"
,"1870-07-28P"
,"1870-12-22T"
,"1871-06-18A"
,"1871-12-12T"
,"1872-06-06A"
,"1872-11-30H"
,"1873-05-26P"
,"1873-11-20P"
,"1874-04-16T"
,"1874-10-10A"
,"1875-04-06T"
,"1875-09-29A"
,"1876-03-25A"
,"1876-09-17T"
,"1877-03-15P"
,"1877-08-09P"
,"1877-09-07P"
,"1878-02-02A"
,"1878-07-29T"
,"1879-01-22A"
,"1879-07-19A"
,"1880-01-11T"
,"1880-07-07A"
,"1880-12-02P"
,"1880-12-31P"
,"1881-05-27P"
,"1881-11-21A"
,"1882-05-17T"
,"1882-11-10A"
,"1883-05-06T"
,"1883-10-30A"
,"1884-03-27P"
,"1884-04-25P"
,"1884-10-19P"
,"1885-03-16A"
,"1885-09-08T"
,"1886-03-05A"
,"1886-08-29T"
,"1887-02-22A"
,"1887-08-19T"
,"1888-02-11P"
,"1888-07-09P"
,"1888-08-07P"
,"1889-01-01T"
,"1889-06-28A"
,"1889-12-22T"
,"1890-06-17A"
,"1890-12-12H"
,"1891-06-06A"
,"1891-12-01P"
,"1892-04-26T"
,"1892-10-20P"
,"1893-04-16T"
,"1893-10-09A"
,"1894-04-06H"
,"1894-09-29T"
,"1895-03-26P"
,"1895-08-20P"
,"1895-09-18P"
,"1896-02-13A"
,"1896-08-09T"
,"1897-02-01A"
,"1897-07-29A"
,"1898-01-22T"
,"1898-07-18A"
,"1898-12-13P"
,"1899-01-11P"
,"1899-06-08P"
,"1899-12-03A"
,"1900-05-28T"
,"1900-11-22A"
,"1901-05-18T"
,"1901-11-11A"
,"1902-04-08P"
,"1902-05-07P"
,"1902-10-31P"
,"1903-03-29A"
,"1903-09-21T"
,"1904-03-17A"
,"1904-09-09T"
,"1905-03-06A"
,"1905-08-30T"
,"1906-02-23P"
,"1906-07-21P"
,"1906-08-20P"
,"1907-01-14T"
,"1907-07-10A"
,"1908-01-03T"
,"1908-06-28A"
,"1908-12-23H"
,"1909-06-17H"
,"1909-12-12P"
,"1910-05-09T"
,"1910-11-02P"
,"1911-04-28T"
,"1911-10-22A"
,"1912-04-17H"
,"1912-10-10T"
,"1913-04-06P"
,"1913-08-31P"
,"1913-09-30P"
,"1914-02-25A"
,"1914-08-21T"
,"1915-02-14A"
,"1915-08-10A"
,"1916-02-03T"
,"1916-07-30A"
,"1916-12-24P"
,"1917-01-23P"
,"1917-06-19P"
,"1917-07-19P"
,"1917-12-14A"
,"1918-06-08T"
,"1918-12-03A"
,"1919-05-29T"
,"1919-11-22A"
,"1920-05-18P"
,"1920-11-10P"
,"1921-04-08A"
,"1921-10-01T"
,"1922-03-28A"
,"1922-09-21T"
,"1923-03-17A"
,"1923-09-10T"
,"1924-03-05P"
,"1924-07-31P"
,"1924-08-30P"
,"1925-01-24T"
,"1925-07-20A"
,"1926-01-14T"
,"1926-07-09A"
,"1927-01-03A"
,"1927-06-29T"
,"1927-12-24P"
,"1928-05-19T"
,"1928-06-17P"
,"1928-11-12P"
,"1929-05-09T"
,"1929-11-01A"
,"1930-04-28H"
,"1930-10-21T"
,"1931-04-18P"
,"1931-09-12P"
,"1931-10-11P"
,"1932-03-07A"
,"1932-08-31T"
,"1933-02-24A"
,"1933-08-21A"
,"1934-02-14T"
,"1934-08-10A"
,"1935-01-05P"
,"1935-02-03P"
,"1935-06-30P"
,"1935-07-30P"
,"1935-12-25A"
,"1936-06-19T"
,"1936-12-13A"
,"1937-06-08T"
,"1937-12-02A"
,"1938-05-29T"
,"1938-11-21P"
,"1939-04-19A"
,"1939-10-12T"
,"1940-04-07A"
,"1940-10-01T"
,"1941-03-27A"
,"1941-09-21T"
,"1942-03-16P"
,"1942-08-12P"
,"1942-09-10P"
,"1943-02-04T"
,"1943-08-01A"
,"1944-01-25T"
,"1944-07-20A"
,"1945-01-14A"
,"1945-07-09T"
,"1946-01-03P"
,"1946-05-30P"
,"1946-06-29P"
,"1946-11-23P"
,"1947-05-20T"
,"1947-11-12A"
,"1948-05-09A"
,"1948-11-01T"
,"1949-04-28P"
,"1949-10-21P"
,"1950-03-18A"
,"1950-09-12T"
,"1951-03-07A"
,"1951-09-01A"
,"1952-02-25T"
,"1952-08-20A"
,"1953-02-14P"
,"1953-07-11P"
,"1953-08-09P"
,"1954-01-05A"
,"1954-06-30T"
,"1954-12-25A"
,"1955-06-20T"
,"1955-12-14A"
,"1956-06-08T"
,"1956-12-02P"
,"1957-04-30A"
,"1957-10-23T"
,"1958-04-19A"
,"1958-10-12T"
,"1959-04-08A"
,"1959-10-02T"
,"1960-03-27P"
,"1960-09-20P"
,"1961-02-15T"
,"1961-08-11A"
,"1962-02-05T"
,"1962-07-31A"
,"1963-01-25A"
,"1963-07-20T"
,"1964-01-14P"
,"1964-06-10P"
,"1964-07-09P"
,"1964-12-04P"
,"1965-05-30T"
,"1965-11-23A"
,"1966-05-20A"
,"1966-11-12T"
,"1967-05-09P"
,"1967-11-02T"
,"1968-03-28P"
,"1968-09-22T"
,"1969-03-18A"
,"1969-09-11A"
,"1970-03-07T"
,"1970-08-31A"
,"1971-02-25P"
,"1971-07-22P"
,"1971-08-20P"
,"1972-01-16A"
,"1972-07-10T"
,"1973-01-04A"
,"1973-06-30T"
,"1973-12-24A"
,"1974-06-20T"
,"1974-12-13P"
,"1975-05-11P"
,"1975-11-03P"
,"1976-04-29A"
,"1976-10-23T"
,"1977-04-18A"
,"1977-10-12T"
,"1978-04-07P"
,"1978-10-02P"
,"1979-02-26T"
,"1979-08-22A"
,"1980-02-16T"
,"1980-08-10A"
,"1981-02-04A"
,"1981-07-31T"
,"1982-01-25P"
,"1982-06-21P"
,"1982-07-20P"
,"1982-12-15P"
,"1983-06-11T"
,"1983-12-04A"
,"1984-05-30A"
,"1984-11-22T"
,"1985-05-19P"
,"1985-11-12T"
,"1986-04-09P"
,"1986-10-03H"
,"1987-03-29H"
,"1987-09-23A"
,"1988-03-18T"
,"1988-09-11A"
,"1989-03-07P"
,"1989-08-31P"
,"1990-01-26A"
,"1990-07-22T"
,"1991-01-15A"
,"1991-07-11T"
,"1992-01-04A"
,"1992-06-30T"
,"1992-12-24P"
,"1993-05-21P"
,"1993-11-13P"
,"1994-05-10A"
,"1994-11-03T"
,"1995-04-29A"
,"1995-10-24T"
,"1996-04-17P"
,"1996-10-12P"
,"1997-03-09T"
,"1997-09-02P"
,"1998-02-26T"
,"1998-08-22A"
,"1999-02-16A"
,"1999-08-11T"
,"2000-02-05P"
,"2000-07-01P"
,"2000-07-31P"
,"2000-12-25P"
,"2001-06-21T"
,"2001-12-14A"
,"2002-06-10A"
,"2002-12-04T"
,"2003-05-31A"
,"2003-11-23T"
,"2004-04-19P"
,"2004-10-14P"
,"2005-04-08H"
,"2005-10-03A"
,"2006-03-29T"
,"2006-09-22A"
,"2007-03-19P"
,"2007-09-11P"
,"2008-02-07A"
,"2008-08-01T"
,"2009-01-26A"
,"2009-07-22T"
,"2010-01-15A"
,"2010-07-11T"
,"2011-01-04P"
,"2011-06-01P"
,"2011-07-01P"
,"2011-11-25P"
,"2012-05-20A"
,"2012-11-13T"
,"2013-05-10A"
,"2013-11-03H"
,"2014-04-29A"
,"2014-10-23P"
,"2015-03-20T"
,"2015-09-13P"
,"2016-03-09T"
,"2016-09-01A"
,"2017-02-26A"
,"2017-08-21T"
,"2018-02-15P"
,"2018-07-13P"
,"2018-08-11P"
,"2019-01-06P"
,"2019-07-02T"
,"2019-12-26A"
,"2020-06-21A"
,"2020-12-14T"
,"2021-06-10A"
,"2021-12-04T"
,"2022-04-30P"
,"2022-10-25P"
,"2023-04-20H"
,"2023-10-14A"
,"2024-04-08T"
,"2024-10-02A"
,"2025-03-29P"
,"2025-09-21P"
,"2026-02-17A"
,"2026-08-12T"
,"2027-02-06A"
,"2027-08-02T"
,"2028-01-26A"
,"2028-07-22T"
,"2029-01-14P"
,"2029-06-12P"
,"2029-07-11P"
,"2029-12-05P"
,"2030-06-01A"
,"2030-11-25T"
,"2031-05-21A"
,"2031-11-14H"
,"2032-05-09A"
,"2032-11-03P"
,"2033-03-30T"
,"2033-09-23P"
,"2034-03-20T"
,"2034-09-12A"
,"2035-03-09A"
,"2035-09-02T"
,"2036-02-27P"
,"2036-07-23P"
,"2036-08-21P"
,"2037-01-16P"
,"2037-07-13T"
,"2038-01-05A"
,"2038-07-02A"
,"2038-12-26T"
,"2039-06-21A"
,"2039-12-15T"
,"2040-05-11P"
,"2040-11-04P"
,"2041-04-30T"
,"2041-10-25A"
,"2042-04-20T"
,"2042-10-14A"
,"2043-04-09T"
,"2043-10-03A"
,"2044-02-28A"
,"2044-08-23T"
,"2045-02-16A"
,"2045-08-12T"
,"2046-02-05A"
,"2046-08-02T"
,"2047-01-26P"
,"2047-06-23P"
,"2047-07-22P"
,"2047-12-16P"
,"2048-06-11A"
,"2048-12-05T"
,"2049-05-31A"
,"2049-11-25H"
,"2050-05-20H"
,"2050-11-14P"
,"2051-04-11P"
,"2051-10-04P"
,"2052-03-30T"
,"2052-09-22A"
,"2053-03-20A"
,"2053-09-12T"
,"2054-03-09P"
,"2054-08-03P"
,"2054-09-02P"
,"2055-01-27P"
,"2055-07-24T"
,"2056-01-16A"
,"2056-07-12A"
,"2057-01-05T"
,"2057-07-01A"
,"2057-12-26T"
,"2058-05-22P"
,"2058-06-21P"
,"2058-11-16P"
,"2059-05-11T"
,"2059-11-05A"
,"2060-04-30T"
,"2060-10-24A"
,"2061-04-20T"
,"2061-10-13A"
,"2062-03-11P"
,"2062-09-03P"
,"2063-02-28A"
,"2063-08-24T"
,"2064-02-17A"
,"2064-08-12T"
,"2065-02-05P"
,"2065-07-03P"
,"2065-08-02P"
,"2065-12-27P"
,"2066-06-22A"
,"2066-12-17T"
,"2067-06-11A"
,"2067-12-06H"
,"2068-05-31T"
,"2068-11-24P"
,"2069-04-21P"
,"2069-05-20P"
,"2069-10-15P"
,"2070-04-11T"
,"2070-10-04A"
,"2071-03-31A"
,"2071-09-23T"
,"2072-03-19P"
,"2072-09-12T"
,"2073-02-07P"
,"2073-08-03T"
,"2074-01-27A"
,"2074-07-24A"
,"2075-01-16T"
,"2075-07-13A"
,"2076-01-06T"
,"2076-06-01P"
,"2076-07-01P"
,"2076-11-26P"
,"2077-05-22T"
,"2077-11-15A"
,"2078-05-11T"
,"2078-11-04A"
,"2079-05-01T"
,"2079-10-24A"
,"2080-03-21P"
,"2080-09-13P"
,"2081-03-10A"
,"2081-09-03T"
,"2082-02-27A"
,"2082-08-24T"
,"2083-02-16P"
,"2083-07-15P"
,"2083-08-13P"
,"2084-01-07P"
,"2084-07-03A"
,"2084-12-27T"
,"2085-06-22A"
,"2085-12-16A"
,"2086-06-11T"
,"2086-12-06P"
,"2087-05-02P"
,"2087-06-01P"
,"2087-10-26P"
,"2088-04-21T"
,"2088-10-14A"
,"2089-04-10A"
,"2089-10-04T"
,"2090-03-31P"
,"2090-09-23T"
,"2091-02-18P"
,"2091-08-15T"
,"2092-02-07A"
,"2092-08-03A"
,"2093-01-27T"
,"2093-07-23A"
,"2094-01-16T"
,"2094-06-13P"
,"2094-07-12P"
,"2094-12-07P"
,"2095-06-02T"
,"2095-11-27A"
,"2096-05-22T"
,"2096-11-15A"
,"2097-05-11T"
,"2097-11-04A"
,"2098-04-01P"
,"2098-09-25P"
,"2098-10-24P"
,"2099-03-21A"
,"2099-09-14T"
,"2100-03-10A"
,"2100-09-04T"
,"2101-02-28A"
,"2101-08-24P"
,"2102-01-19P"
,"2102-07-15A"
,"2103-01-08T"
,"2103-07-04A"
,"2103-12-29A"
,"2104-06-22T"
,"2104-12-17A"
,"2105-05-14P"
,"2105-06-12P"
,"2105-11-06P"
,"2106-05-03T"
,"2106-10-26A"
,"2107-04-23A"
,"2107-10-16T"
,"2108-04-11P"
,"2108-10-05T"
,"2109-03-01P"
,"2109-08-26P"
,"2110-02-18A"
,"2110-08-15A"
,"2111-02-08T"
,"2111-08-04A"
,"2112-01-29T"
,"2112-06-24P"
,"2112-07-23P"
,"2112-12-19P"
,"2113-06-13T"
,"2113-12-08A"
,"2114-06-03T"
,"2114-11-27A"
,"2115-05-24T"
,"2115-11-16A"
,"2116-04-13P"
,"2116-10-06P"
,"2116-11-04P"
,"2117-04-02A"
,"2117-09-26T"
,"2118-03-22A"
,"2118-09-15T"
,"2119-03-11A"
,"2119-09-05P"
,"2120-01-30P"
,"2120-07-25A"
,"2121-01-19T"
,"2121-07-14A"
,"2122-01-08A"
,"2122-07-04T"
,"2122-12-28A"
,"2123-05-25P"
,"2123-06-23P"
,"2123-11-18P"
,"2124-05-14T"
,"2124-11-06A"
,"2125-05-03A"
,"2125-10-26T"
,"2126-04-22A"
,"2126-10-16T"
,"2127-03-13P"
,"2127-09-06P"
,"2128-03-01A"
,"2128-08-25A"
,"2129-02-18T"
,"2129-08-15A"
,"2130-02-08T"
,"2130-08-04P"
,"2130-12-30P"
,"2131-06-25T"
,"2131-12-19A"
,"2132-06-13T"
,"2132-12-07A"
,"2133-06-03T"
,"2133-11-26A"
,"2134-04-24P"
,"2134-05-23P"
,"2134-10-17P"
,"2134-11-16P"
,"2135-04-13A"
,"2135-10-07T"
,"2136-04-01A"
,"2136-09-26T"
,"2137-03-21A"
,"2137-09-15P"
,"2138-02-09P"
,"2138-08-05P"
,"2139-01-30T"
,"2139-07-25A"
,"2140-01-20A"
,"2140-07-14T"
,"2141-01-08A"
,"2141-06-04P"
,"2141-07-03P"
,"2141-11-28P"
,"2142-05-25T"
,"2142-11-17A"
,"2143-05-14A"
,"2143-11-07T"
,"2144-05-03A"
,"2144-10-26T"
,"2145-03-23P"
,"2145-09-16P"
,"2145-10-16P"
,"2146-03-12A"
,"2146-09-06A"
,"2147-03-02T"
,"2147-08-26A"
,"2148-02-19T"
,"2148-08-14P"
,"2149-01-09P"
,"2149-07-05T"
,"2149-12-30A"
,"2150-06-25T"
,"2150-12-19A"
,"2151-06-14T"
,"2151-12-08A"
,"2152-05-04P"
,"2152-06-03P"
,"2152-10-28P"
,"2152-11-26P"
,"2153-04-23A"
,"2153-10-17T"
,"2154-04-12A"
,"2154-10-07T"
,"2155-04-02A"
,"2155-09-26A"
,"2156-02-21P"
,"2156-08-16P"
,"2157-02-09T"
,"2157-08-05A"
,"2158-01-30A"
,"2158-07-25T"
,"2159-01-19A"
,"2159-06-16P"
,"2159-07-15P"
,"2159-12-09P"
,"2160-06-04T"
,"2160-11-27A"
,"2161-05-25A"
,"2161-11-17T"
,"2162-05-14A"
,"2162-11-07T"
,"2163-04-03P"
,"2163-09-28P"
,"2163-10-27P"
,"2164-03-23H"
,"2164-09-16A"
,"2165-03-12T"
,"2165-09-05A"
,"2166-03-02T"
,"2166-08-25A"
,"2167-01-21P"
,"2167-07-16T"
,"2168-01-10A"
,"2168-07-05T"
,"2168-12-29A"
,"2169-06-25T"
,"2169-12-18A"
,"2170-05-16P"
,"2170-06-14P"
,"2170-11-08P"
,"2170-12-07P"
,"2171-05-05A"
,"2171-10-29T"
,"2172-04-23A"
,"2172-10-17H"
,"2173-04-12A"
,"2173-10-07A"
,"2174-03-03P"
,"2174-04-01P"
,"2174-08-27P"
,"2175-02-21T"
,"2175-08-16A"
,"2176-02-10A"
,"2176-08-04T"
,"2177-01-29A"
,"2177-06-26P"
,"2177-07-25P"
,"2177-12-20P"
,"2178-06-16T"
,"2178-12-09A"
,"2179-06-05A"
,"2179-11-28T"
,"2180-05-24A"
,"2180-11-17T"
,"2181-04-14P"
,"2181-05-13P"
,"2181-10-08P"
,"2181-11-07P"
,"2182-04-03H"
,"2182-09-27A"
,"2183-03-23T"
,"2183-09-16A"
,"2184-03-12T"
,"2184-09-04A"
,"2185-01-31P"
,"2185-07-26T"
,"2186-01-20A"
,"2186-07-16T"
,"2187-01-09A"
,"2187-07-06T"
,"2187-12-29A"
,"2188-05-26P"
,"2188-06-24P"
,"2188-11-18P"
,"2188-12-18P"
,"2189-05-15A"
,"2189-11-08T"
,"2190-05-04A"
,"2190-10-29H"
,"2191-04-23A"
,"2191-10-18A"
,"2192-03-13P"
,"2192-04-12P"
,"2192-09-06P"
,"2193-03-03T"
,"2193-08-26A"
,"2194-02-21A"
,"2194-08-16T"
,"2195-02-10A"
,"2195-07-07P"
,"2195-08-05T"
,"2195-12-31P"
,"2196-06-26T"
,"2196-12-19A"
,"2197-06-15A"
,"2197-12-09T"
,"2198-06-04A"
,"2198-11-28T"
,"2199-04-25P"
,"2199-05-24P"
,"2199-10-19P"
,"2199-11-18P"
,"2200-04-14T"
,"2200-10-09A"
}
-- Map, um für ein Finsternisdatum den Index in obiger seq. Tabelle zu ermitteln
local mapEclipseIsodateToIndex = {}
for index, sIsodateAndType in pairs(tabEclipse) do
    isodate = mw.ustring.sub(sIsodateAndType, 1, 10)
    mapEclipseIsodateToIndex[isodate] = index
end

-- Seq. Tabelle der dt. Monatsnamen
local tabMonthnameDe =
{ "Januar"
, "Februar"
, "März"
, "April"
, "Mai"
, "Juni"
, "Juli"
, "August"
, "September"
, "Oktober"
, "November"
, "Dezember"
}

-- Map von Monatsnummer auf dt. Monatsnamen
local mapMonthnameDe2Num =
{ ["Januar"]=1
, ["Februar"]=2
, ["März"]=3
, ["April"]=4
, ["Mai"]=5
, ["Juni"]=6
, ["Juli"]=7
, ["August"]=8
, ["September"]=9
, ["Oktober"]=10
, ["November"]=11
, ["Dezember"]=12
}

--[[
----------------------------------------------------------------------------
Hilfsuntkionen
----------------------------------------------------------------------------
]]

local function _getIsoDateFromLemma(sLemma)
--[[
- Aus dem Lemma eines dt. Sonnenfinsternisartikel das Datum extrahieren und im Isu-Format zurückgeben
    Parameter:
    * Lemma der Sonnenfinsternis
]]
    local _, _, sDay, sMonthnameDe, sYear = mw.ustring.find(sLemma, "(%d*)%.%s(%a*)%s(%d+)")

    local nMonth = mapMonthnameDe2Num[sMonthnameDe]
    return mw.ustring.format("%04d-%02d-%02d", tonumber(sYear) or 0, nMonth or 0, tonumber(sDay) or 0)
end


local function _getLemmaFromIsoDate(sIsoDate)
--[[
- Standard-Lemma eines dt. Sonnenfinsternisartikels zum angegebenen Datum im Iso-Format zurückgeben
    Parameter:
    * Datum der Finsternis im Iso-Format
]]
    local _ , _ , sYearNeighbour, sMonthNeighbour, sDayNeighbour = mw.ustring.find(sIsoDate, "(%d+)-(%d+)-(%d+)")
    return "Sonnenfinsternis vom " .. tonumber(sDayNeighbour) .. ". " .. tabMonthnameDe[tonumber(sMonthNeighbour)] .. " " .. sYearNeighbour            
end

local function _getNeighbourEclipse(sLemma, nOffset)
--[[
    Datum im Iso-Format ("isodate") und Typ ("type") zur Vorgänger- oder Nachfolgefinsternis zur übergebenen
    Parameter:
    * Lemma der Sonnenfinsternis
    * Offset (z.B. -1 = direkter Vorgänger)
]]
    local sIsoDate = _getIsoDateFromLemma(sLemma)

    local index = mapEclipseIsodateToIndex[sIsoDate]
    if index == nil then
        return nil
    end
    if (nOffset ~= nil) then
        index = index + nOffset
    end
    
    local sIsoDateAndTypeNeighbour = tabEclipse[index]
    if (sIsoDateAndTypeNeighbour == nil) then
        return nil
    end

    local ret = {}
    ret.type = mw.ustring.sub(sIsoDateAndTypeNeighbour, -1, -1)    
    ret.isodate = mw.ustring.sub(sIsoDateAndTypeNeighbour,1,10)
    return ret
end

--[[
----------------------------------------------------------------------------
Öffentliche Funktionen
----------------------------------------------------------------------------
]]

local p = { }

function p.getNeighbourEclipseText(frame)
--[[
    Wikitext für Text/Link zur Vorgänger- oder Nachfolgefinsternis zur übergebenen
    Parameter:
    * Lemma der Sonnenfinsternis
    * Offset (z.B. -1 = direkter Vorgänger)
]]
    sLemma = frame.args[1]
    nOffset = tonumber(frame.args[2])

    eclipseNeighbour = _getNeighbourEclipse(sLemma, nOffset)
    
    if eclipseNeighbour == nil then
        return ""
    end
    
    local _ , _ , sYearNeighbour, sMonthNeighbour, sDayNeighbour = mw.ustring.find(eclipseNeighbour.isodate, "(%d+)-(%d+)-(%d+)")
    local sText = tonumber(sDayNeighbour) .. ". " .. tabMonthnameDe[tonumber(sMonthNeighbour)] .. "<br/>" .. sYearNeighbour
    
    local sLemmaNeighbour = _getLemmaFromIsoDate(eclipseNeighbour.isodate)
    if mw.title.new(sLemmaNeighbour).exists then
        sText = "[[" .. sLemmaNeighbour .. "|" .. sText .. "]]"
    end
    
    local sTypeNeighbour
    if eclipseNeighbour.type == 'T' then
        sTypeNeighbour = "total"
    elseif eclipseNeighbour.type == 'A' then
        sTypeNeighbour = "ringförmig"
    elseif eclipseNeighbour.type == 'H' then
        sTypeNeighbour = "hybrid"
    elseif eclipseNeighbour.type == 'P' then
        sTypeNeighbour = "partiell"
    end    
    if sTypeNeighbour ~= nil then
        sText = sText .. "<br/>(" .. sTypeNeighbour .. ")"
    end        
    return sText    
end

function p.getNeighbourEclipseIcon(frame)
--[[
    Wikitext für Icon/Link zur Vorgänger- oder Nachfolgefinsternis zur übergebenen
    Parameter:
    * Lemma der Sonnenfinsternis
    * Offset (z.B. -1 = direkter Vorgänger)
]]
    sLemma = frame.args[1]
    nOffset = tonumber(frame.args[2])

    eclipseNeighbour = _getNeighbourEclipse(sLemma, nOffset)
    
    if eclipseNeighbour == nil then
        return ""
    end
    
    local sFileNameIcon
    if eclipseNeighbour.type == 'T' then
        sFileNameIcon = "Solar eclipse icon total.png"
    elseif eclipseNeighbour.type == 'A' then
        sFileNameIcon = "Solar eclipse icon ring.png"
    elseif eclipseNeighbour.type == 'H' then
        sFileNameIcon = "Solar eclipse icon hybrid.png"
    elseif eclipseNeighbour.type == 'P' then
        sFileNameIcon = "Solar eclipse icon partial.png"
    end
    
    if sFileNameIcon == nil then
        return ""
    end
    local sText = "[[File:" .. sFileNameIcon .. "|82px"
    local sLemmaNeighbour = _getLemmaFromIsoDate(eclipseNeighbour.isodate)
    if nOffset ~=0 and mw.title.new(sLemmaNeighbour).exists then
        sText = sText .. "|link=" .. sLemmaNeighbour
    end
    sText = sText .. "]]"
    return sText
    
end

function p.getNeighbourEclipseIsoDate(frame)
--[[
    Datum (Iso) der Vorgänger- oder Nachfolgefinsternis zur übergebenen
    Parameter:
    * Lemma der Sonnenfinsternis
    * Offset (z.B. -1 = direkter Vorgänger)
]]
    sLemma = frame.args[1]
    nOffset = tonumber(frame.args[2])

    return _getNeighbourEclipse(sLemma, nOffset).isodate
end

function p.getNeighbourEclipseType(frame)
--[[
    Typ der Vorgänger- oder Nachfolgefinsternis zur übergebenen
    Parameter:
    * Lemma der Sonnenfinsternis
    * Offset (z.B. -1 = direkter Vorgänger)
]]
    sLemma = frame.args[1]
    nOffset = tonumber(frame.args[2])

    return _getNeighbourEclipse(sLemma, nOffset).type
end

function p.getIsoDateFromLemma(frame)
    --[[
    Datum im ISO-Format ("yyyy-mm-dd") aus Lemma ("Sonnenfinsternis vom D. MMM yyyy")
    Parameter:
    * Lemma der Sonnenfinsternis
]]
    return _getIsoDateFromLemma(frame.args[1])
end

return p