How to convert string in to date in Python

Viewed 90

I have a string:

dat="012915"

I want to convert it to a date:

01-29-2015

I tried:

import datetime
from datetime import datetime
dat="012915"
dat = datetime.strptime(dat, '%m%d%Y').date()
dat

but failed:

ValueError: time data '01-29-15' does not match format '%m%d%Y'
5 Answers

%Y is for full year
%y is the short version for year

Your code is totally fine, just change the year directive to lowercase %y will do.

import datetime
from datetime import datetime
dat="012915"
dat = datetime.strptime(dat, '%m%d%y').date()
dat

I think you are looking for

import datetime
from datetime import datetime
dat="012915"
#lower %y
dat = datetime.strptime(dat, '%m%d%y').date()
print(dat)

this will give you

2015-01-29
import datetime
from datetime import datetime
dat="012915"
dat = datetime.strptime(dat, '%m%d%y').date()
print(dat)

Change %Y to %y. If you want to use %Y, change dat to '01292015'. y% is formatted as 15 while %Y is formatted as 2015.

from datetime import datetime
date_str = '012915'
date_obj = datetime.strptime(date_str, '%m/%d/%y')

print("The type of the date is now",  type(date_obj))
print("The date is", date_obj)
Related