Τη Παρασκευή, 22 Φεβρουαρίου 2013 12:03:59 π.μ. UTC+2, ο χρήστης Michael Ross έγραψε: > On Thu, 21 Feb 2013 22:22:15 +0100, Ferrous Cranus <nikos.gr...@gmail.com> > > wrote: > > > > > Τη Πέμπτη, 21 Φεβρουαρίου 2013 10:14:13 μ.μ. UTC+2, ο χρήστης MRAB > > > έγραψε: > > >> On 2013-02-21 19:38, Ferrous Cranus wrote: > > >> > > >> > import datetime from datetime > > >> > > >> > > >> > > >> Should be: > > >> > > >> > > >> > > >> from datetime import datetime > > >> > > >> > > >> > > >> > > > >> > > >> > try: > > >> > > >> > datetime.strptime( date, '%d %m %Y' ) > > >> > > >> > > >> > > >> That parses the date and discards the result. > > >> > > >> > > >> > > >> > date = date.strptime( '%Y-%m-%d' ) > > >> > > >> > > >> > > >> 'date' is a string, it doesn't have a 'strptime' method. > > >> > > >> > > >> > > >> When you parsed the date you got a datetime object; _that_ has the > > >> > > >> 'strptime' method. > > > > > > I don't need to store the date i just want to make sure is entered > > > correctly. > > > I would like to have the user type the date like > > > > > > 21 02 2013 > > > and then convert it to 2013-02-21 because thats how mysql wants the date > > > in order to store it. > > > Please show me how to write this. > > > > > > Also, can you show me how to write it that if so even if the user > > > entered date is wrong it doesn't just crash the cgi-script?i know i can > > > use tr: expect: but i want to avoid it, somehow i need to check the date > > > in the same if statemnt like i do with the other user defined varibles > > > for validity. > > > > > > > You *have* to try/expect in order to not have the script crash. > > Think user typo: 21 02 2ß13 > > > > Personally, I'd use a javascript on the html so users can't POST invalid > > dates. > > I use mootools for that. It accepts 21/02/2013, 21-02-2013 and 21.02.13 as > > input, > > and you end up with 21.02.2013 posted to your cgi in any case.
i just want to check for date validity from within ha same if statemnt like i check the other variables and i tried a regualr expression just now: if( task and ( price and price.isdigit() and price.__len__() <= 3 ) and ( date and re.search( r'(\d+) (\d+) (\d+)', date ) ) ): Do i ahve somehting wrong in it? will the if become true if the user enters 21 02 2013 ? -- http://mail.python.org/mailman/listinfo/python-list