221 lines
14 KiB
HTML
221 lines
14 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>date — pylib 2019.5.19 documentation</title>
|
|
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
|
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
|
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
<script type="text/javascript" src="../_static/language_data.js"></script>
|
|
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<link rel="index" title="Index" href="../genindex.html" />
|
|
<link rel="search" title="Search" href="../search.html" />
|
|
|
|
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<h1>Source code for date</h1><div class="highlight"><pre>
|
|
<span></span><span class="ch">#!/usr/bin/env python</span>
|
|
<span class="c1"># -*- coding: utf-8 -*-</span>
|
|
<span class="sd">"""Calculate spacial dates.</span>
|
|
|
|
<span class="sd">:Date: 2018-01-15</span>
|
|
|
|
<span class="sd">.. module:: date</span>
|
|
<span class="sd"> :platform: *nix, Windows</span>
|
|
<span class="sd"> :synopsis: Special dates.</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd">.. moduleauthor:: Daniel Weschke <daniel.weschke@directbox.de></span>
|
|
<span class="sd">"""</span>
|
|
|
|
<div class="viewcode-block" id="gaußsche_osterformel"><a class="viewcode-back" href="../date.html#date.gaußsche_osterformel">[docs]</a><span class="k">def</span> <span class="nf">gaußsche_osterformel</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Gaußsche Osterformel.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the Easter Sunday</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of Easter Sunday as a day in march.</span>
|
|
<span class="sd"> :rtype: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :ivar X: Das Jahr / year</span>
|
|
<span class="sd"> :vartype X: int</span>
|
|
<span class="sd"> :ivar K(X): Die Säkularzahl</span>
|
|
<span class="sd"> :vartype K(X): int</span>
|
|
<span class="sd"> :ivar M(X): Die säkulare Mondschaltung</span>
|
|
<span class="sd"> :vartype M(X): int</span>
|
|
<span class="sd"> :ivar S(K): Die säkulare Sonnenschaltung</span>
|
|
<span class="sd"> :vartype S(K): int</span>
|
|
<span class="sd"> :ivar A(X): Den Mondparameter</span>
|
|
<span class="sd"> :vartype A(X): int</span>
|
|
<span class="sd"> :ivar D(A,M): Den Keim für den ersten Vollmond im Frühling</span>
|
|
<span class="sd"> :vartype D(A,M): int</span>
|
|
<span class="sd"> :ivar R(D,A): Die kalendarische Korrekturgröße</span>
|
|
<span class="sd"> :vartype R(D,A): int</span>
|
|
<span class="sd"> :ivar OG(D,R): Die Ostergrenze</span>
|
|
<span class="sd"> :vartype OG(D,R): int</span>
|
|
<span class="sd"> :ivar SZ(X,S): Den ersten Sonntag im März</span>
|
|
<span class="sd"> :vartype SZ(X,S): int</span>
|
|
<span class="sd"> :ivar OE(OG,SZ): Die Entfernung des Ostersonntags von der Ostergrenze (Osterentfernung in Tagen)</span>
|
|
<span class="sd"> :vartype OE(OG,SZ): int</span>
|
|
<span class="sd"> :ivar OS(OG,OE): Das Datum des Ostersonntags als Märzdatum (32. März = 1. April usw.)</span>
|
|
<span class="sd"> :vartype OS(OG,OE): int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> Algorithmus gilt für den Gregorianischen Kalender.</span>
|
|
|
|
<span class="sd"> source: https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Osterformel</span>
|
|
<span class="sd"> """</span>
|
|
<span class="n">x</span> <span class="o">=</span> <span class="n">year</span>
|
|
<span class="n">k</span> <span class="o">=</span> <span class="n">x</span> <span class="o">//</span> <span class="mi">100</span>
|
|
<span class="n">m</span> <span class="o">=</span> <span class="mi">15</span> <span class="o">+</span> <span class="p">(</span><span class="mi">3</span><span class="o">*</span><span class="n">k</span> <span class="o">+</span> <span class="mi">3</span><span class="p">)</span> <span class="o">//</span> <span class="mi">4</span> <span class="o">-</span> <span class="p">(</span><span class="mi">8</span><span class="o">*</span><span class="n">k</span> <span class="o">+</span> <span class="mi">13</span><span class="p">)</span> <span class="o">//</span> <span class="mi">25</span>
|
|
<span class="n">s</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">-</span> <span class="p">(</span><span class="mi">3</span><span class="o">*</span><span class="n">k</span> <span class="o">+</span> <span class="mi">3</span><span class="p">)</span> <span class="o">//</span> <span class="mi">4</span>
|
|
<span class="n">a</span> <span class="o">=</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">19</span>
|
|
<span class="n">d</span> <span class="o">=</span> <span class="p">(</span><span class="mi">19</span><span class="o">*</span><span class="n">a</span> <span class="o">+</span> <span class="n">m</span><span class="p">)</span> <span class="o">%</span> <span class="mi">30</span>
|
|
<span class="n">r</span> <span class="o">=</span> <span class="p">(</span><span class="n">d</span> <span class="o">+</span> <span class="n">a</span> <span class="o">//</span> <span class="mi">11</span><span class="p">)</span> <span class="o">//</span> <span class="mi">29</span>
|
|
<span class="n">og</span> <span class="o">=</span> <span class="mi">21</span> <span class="o">+</span> <span class="n">d</span> <span class="o">-</span> <span class="n">r</span>
|
|
<span class="n">sz</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">-</span> <span class="p">(</span><span class="n">x</span> <span class="o">+</span> <span class="n">x</span> <span class="o">//</span> <span class="mi">4</span> <span class="o">+</span> <span class="n">s</span><span class="p">)</span> <span class="o">%</span> <span class="mi">7</span>
|
|
<span class="n">oe</span> <span class="o">=</span> <span class="mi">7</span> <span class="o">-</span> <span class="p">(</span><span class="n">og</span> <span class="o">-</span> <span class="n">sz</span><span class="p">)</span> <span class="o">%</span> <span class="mi">7</span>
|
|
<span class="n">os</span> <span class="o">=</span> <span class="n">og</span> <span class="o">+</span> <span class="n">oe</span>
|
|
<span class="k">return</span> <span class="n">os</span></div>
|
|
|
|
<div class="viewcode-block" id="easter_sunday"><a class="viewcode-back" href="../date.html#date.easter_sunday">[docs]</a><span class="k">def</span> <span class="nf">easter_sunday</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Easter Sunday.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the Easter Sunday</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of Easter Sunday</span>
|
|
<span class="sd"> :rtype: datetime.date"""</span>
|
|
<span class="kn">import</span> <span class="nn">datetime</span>
|
|
<span class="n">march</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="p">(</span><span class="n">year</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
|
<span class="n">day</span> <span class="o">=</span> <span class="n">march</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">gaußsche_osterformel</span><span class="p">(</span><span class="n">year</span><span class="p">))</span>
|
|
<span class="k">return</span> <span class="n">day</span></div>
|
|
|
|
<div class="viewcode-block" id="easter_friday"><a class="viewcode-back" href="../date.html#date.easter_friday">[docs]</a><span class="k">def</span> <span class="nf">easter_friday</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Easter Friday.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the Easter Friday</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of Easter Friday</span>
|
|
<span class="sd"> :rtype: datetime.date"""</span>
|
|
<span class="kn">import</span> <span class="nn">datetime</span>
|
|
<span class="n">day</span> <span class="o">=</span> <span class="n">easter_sunday</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=-</span><span class="mi">2</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">day</span></div>
|
|
|
|
<div class="viewcode-block" id="easter_monday"><a class="viewcode-back" href="../date.html#date.easter_monday">[docs]</a><span class="k">def</span> <span class="nf">easter_monday</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Easter Monday.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the Easter Monday</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of Easter Monday</span>
|
|
<span class="sd"> :rtype: datetime.date"""</span>
|
|
<span class="kn">import</span> <span class="nn">datetime</span>
|
|
<span class="n">day</span> <span class="o">=</span> <span class="n">easter_sunday</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=+</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">day</span></div>
|
|
|
|
<div class="viewcode-block" id="ascension_of_jesus"><a class="viewcode-back" href="../date.html#date.ascension_of_jesus">[docs]</a><span class="k">def</span> <span class="nf">ascension_of_jesus</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Ascension of Jesus.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the ascension of Jesus</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of ascension of Jesus</span>
|
|
<span class="sd"> :rtype: datetime.date"""</span>
|
|
<span class="kn">import</span> <span class="nn">datetime</span>
|
|
<span class="n">day</span> <span class="o">=</span> <span class="n">easter_sunday</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=+</span><span class="mi">39</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">day</span></div>
|
|
|
|
<div class="viewcode-block" id="pentecost"><a class="viewcode-back" href="../date.html#date.pentecost">[docs]</a><span class="k">def</span> <span class="nf">pentecost</span><span class="p">(</span><span class="n">year</span><span class="p">):</span>
|
|
<span class="sd">"""Pentecost.</span>
|
|
|
|
<span class="sd"> :param year: the year to calculate the Pentecost</span>
|
|
<span class="sd"> :type year: int</span>
|
|
<span class="sd"> </span>
|
|
<span class="sd"> :returns: the day of Pentecost</span>
|
|
<span class="sd"> :rtype: datetime.date"""</span>
|
|
<span class="kn">import</span> <span class="nn">datetime</span>
|
|
<span class="n">day</span> <span class="o">=</span> <span class="n">easter_sunday</span><span class="p">(</span><span class="n">year</span><span class="p">)</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=+</span><span class="mi">49</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">day</span></div>
|
|
</pre></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<h1 class="logo"><a href="../index.html">pylib</a></h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Navigation</h3>
|
|
|
|
<div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../index.html">Documentation overview</a><ul>
|
|
<li><a href="index.html">Module code</a><ul>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3 id="searchlabel">Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="../search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" />
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2019, Daniel Weschke.
|
|
|
|
|
|
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.0</a>
|
|
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |