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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python