RE: [Python-de] Datum auf Richtigkeit prüfen?

Ausnahmen sollte man nur ausnahmsweise als Werkzeug der Programmierung benutzen, vor allem, wenn es nur um einen simplen Test geht, der mit simplem Rechnen zu erledigen ist. Die folgende, kleine Funktiomn tuts mit time allein ohne Ausnahmebehandlung: from time import mktime, localtime def testdate (y, m, d): return ((y, m, d) == localtime (mktime ((y, m, d, 12, 0, 0, 0, 0, -1)))[:3]) Ciao Rainer -----Original Message----- From: Gerhard Häring [mailto:gh@ghaering.de] Sent: Wed 9/10/2003 12:34 PM To: python-de@python.net Cc: Subject: Re: [Python-de] Datum auf Richtigkeit prüfen? Klinger Christian wrote:
Hallo Liste,
Gibt es eine Funktion mit der ich die Gültigkeit eines Datums prüfen kann? (kein 30.2, Schaltjahre, usw) Ich habe mir schon die Module time und calendar angeschaut hab da aber nix gefunden!
Das datetime Modul:
import datetime d = datetime.datetime(2004, 2, 30) Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: day is out of range for month
Das datetime Modul gibt's ab Python 2.3. Wenn du ältere Python-Versionen verwendest, kannst du stattdessen das Zusatzmodul mxDateTime nehmen:
from mx.DateTime import DateTime d = DateTime(2003, 2, 30) Traceback (most recent call last): File "<stdin>", line 1, in ? mx.DateTime.RangeError: day out of range: 30
-- Gerhard _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de

Ausnahmen sollte man nur ausnahmsweise als Werkzeug der Programmierung benutzen, vor allem, wenn es nur um einen simplen Test geht, der mit simplem Rechnen zu erledigen ist.
Die folgende, kleine Funktiomn tuts mit time allein ohne Ausnahmebehandlung:
from time import mktime, localtime
def testdate (y, m, d): return ((y, m, d) == localtime (mktime ((y, m, d, 12, 0, 0, 0, 0, -1)))[:3])
Ciao
Rainer
Diese Funktion funktioniert nur bei gültigen UNIX-Zeiten (also ab 1970). Carl -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (2)
-
Carl Kleffner
-
Rainer Fischbach