Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to validate a specific Date and Time format using Python

I am writing a program to validate portions of an XML file. One of the points I would like to validate is a Date Time format. I've read up on the forum about using time.strptime() but the examples weren't quite working for me and were a little over my expertise. Anyone have any ideas how I could validate the following. This is the format the date and time must be in.

2/26/2009 3:00 PM

I am sure there is something built-in and very easy but I can't find. Many thanks if you've run by this before and have suggestions.

like image 780
user2643864 Avatar asked Aug 30 '13 18:08

user2643864


People also ask

How do I fix date format in Python?

Function usedstrftime() can change the date format in python.


2 Answers

Yes, you can use datetime.strptime():

from datetime import datetime


def validate_date(d):
    try:
        datetime.strptime(d, '%m/%d/%Y %I:%M %p')
        return True
    except ValueError:
        return False


print validate_date('2/26/2009 3:00 PM')  # prints True
print validate_date('2/26/2009 13:00 PM')  # prints false
print validate_date('2/26/2009')  # prints False
print validate_date("Should I use regex for validating dates in Python?")  # prints False
like image 160
alecxe Avatar answered Nov 15 '22 08:11

alecxe


This is how you do it:

    from datetime import datetime

    def validate(datetime_string):
        try:
            return datetime.strptime(datetime_string,"%m/%d/%Y %I:%M %p")
        except ValueError:
            return False
like image 20
Srinivas Reddy Thatiparthy Avatar answered Nov 15 '22 08:11

Srinivas Reddy Thatiparthy