[Python-de] moths_between in PYthon

Christian Tismer tismer at tismer.com
Tue Mar 11 12:16:56 EST 2003


Thilo Ernst wrote:
> 
> 
> Josef Cihal wrote:
> 
>> Gibtes eine Funktion in Python
>> wie MONTHS_BETWEEN in Oracle-PL/SQL?
>>
>> Es liefert zurück Anzahl der Monaten zwischen zwei Zeitstempel.

...

> Idee: Differenz in Sekunden ausrechnen, dann dividieren bis Monate
> rauskommen.

Abgesehen davon, daß es so nicht geht (wurde ja schon
diskutiert), möchte ich aber noch eine interessante
Kleinigkeit loswerden:

Die Monate befinden sich auf einer Geraden, die mit
dem 1. März beginnt und eine Steigung von 30.6 hat.
Mit entsprechender Abrundung kommt man in der Tat
auf die richtigen Monate, mit dem 30-31-Spielchen.

Natürlich ist das keine komplette Lösung, ich wollte
nur drauf hinweisen: Die Monatseinteilung kommt
nicht von ungefähr, man hat das offenbar mit so einer
Geraden konstruiert.

 >>> def monat(tag, schalt=False):
... 	j = 365 + int(schalt<>False)
... 	t = (tag - 60) % j
... 	m = (2 + int(t / 30.6)) % 12 + 1
... 	return m
...
 >>> map(monat, (-1, 0, 31, 31+30, 31+29, 31+28, 31+28+31+30+31))
[12, 12, 1, 3, 3, 2, 5]
 >>>

ciao - chris
-- 
Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  pager +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/





More information about the Python-de mailing list