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

Rainer Fischbach fischbach at ecs-gmbh.de
Don Sep 11 14:31:49 CEST 2003


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 at ghaering.de]
Sent:	Wed 9/10/2003 12:34 PM
To:	python-de at 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 at python.net
http://python.net/mailman/listinfo/python-de