How to check the date validity?

I

Igor Korot

Hi, ALL,
I'm working on the python script which reads the data from the csv file.
In this file I have 3 different kind of fields: one consist of the
sole date, one - sole time and one - datetime. The time includes
milliseconds, i.e. "12:55:55.705"
All fields of the file including those 3 I am reading as the string.
All those strings after validating will go into mySQL table.

Now, it looks that the python way of validating the date/time of the
string is to call strptime(). However looking at the docs and trying
to use the function I didn't find a way to check for the milliseconds.
Now the dates can be formatted differently I think according to the
locale under which the csv is generated.

So, my question is: since there is a simple way of inserting
preformatted string into the datetime field of mySQL, how do I
validate the date string?
I don't want to convert that string to datetime object, just want to
check if all those types of dates are good dates and does not contain
garbage.

I tried to do an RE, but its static validation and so will not work in
all cases.

Thank you for any hints.
 
G

gregor

Am Mon, 23 Dec 2013 16:30:35 -0800
schrieb Igor Korot said:
Now, it looks that the python way of validating the date/time of the
string is to call strptime(). However looking at the docs and trying
to use the function I didn't find a way to check for the milliseconds.
Now the dates can be formatted differently I think according to the
locale under which the csv is generated.

you can also use an validator package like formencode:

http://www.formencode.org/en/latest/Validator.html

It has an TimeConverter but it does not understand milliseconds either.
But it should be trivial to implement it based on TimeConverter.

Using formencode the validation / conversion is seperated and therefore reusable.
You also get nice human readable validation messages in different languages.
It supports also Schemas to validate complete records.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top