[Python] controllo della data
Daniele Varrazzo
piro a develer.com
Sab 28 Lug 2012 21:28:06 CEST
On 2012-07-28 19:49, Giorgio Zoppi wrote:
> Marco compariamo
>
> RegExp:
> import re
>
> date = "01/02/1988"
> checkdate ="^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[-
> /.](19|20)\d\d"
> obj = re.compile(checkdate)
> if (re.match(date)):
> print 'Valid date'
Ti dice anche se un anno è bisestile?
> Datetime
> from datetime import datetime
> date = '10/12/1977'
> input = date.replace("/","")
> result = None
> format = ['%d%m%Y']
> try:
> result = datetime.strptime(input, format)
> except:
> pass
>
> if (result):
> print "Validate"
>
>
> Il secondo e' piu pythonico...ma lungo. Hai altre opzioni?
Basta toglierci tutta la roba che non serve. Che poi che vuol dire, più
un pezzo di codice è corto e meglio è? L'estetica del perl?
from datetime import datetime
input = '10/12/1977'
try:
result = datetime.strptime(input, '%d/%m/%Y')
except ValueError:
result = None
(sebbene l'aggettivo "Pythonico" non sia esattamente ben definito, il
tuo esempio *veramente* non lo era..)
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python