I\'ve tried the following code :
import datetime
d = datetime.datetime.strptime(\"01/27/2012\", \"%m/%d/%Y\")
print(d)
and the output is :
import datetime
str_time= "2018-06-03 08:00:00"
date_date = datetime.datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print date_date
There is a difference between datetime.strp[arse]time()
and datetime.strf[ormat]time()
.
The first one, strptime()
allows you to create a date object from a string source, provided you can tell it what format to expect:
strDate = "11-Apr-2019_09:15:42"
dateObj = datetime.strptime(strDate, "%d-%b-%Y_%H:%M%S")
print(dateObj) # shows: 2019-04-11 09:15:42
The second one, strftime()
allows you to export your date object to a string in the format of your choosing:
dateObj = datetime(2019, 4, 11, 9, 19, 25)
strDate = dateObj.strftime("%m/%d/%y %H:%M:%S")
print(strDate) # shows: 04/11/19 09:19:25
What you're seeing is simply the default string format of a datetime object because you didn't explicitly tell it what format to use.
Checkout http://strftime.org/ for a list of all the different string format options that are availble.
You need to make sure you provide input accordingly
datetime.strptime(date_string,date_string_format).strftime(convert_to_date_string_format)
To print the date in specified format you need to provide format as below.
import datetime
d =datetime.datetime.strptime("01/27/2012","%m/%d/%Y").strftime('%m/%d/%Y')
print d
Output:
01/27/2012
>>Demo<<
As astutely noted in the comments, you are parsing to a datetime object using the format you specified.
strptime(...) is String Parse Time. You have specified the format for how the string should be interpreted to initialize a Datetime object, but that format is only utilized for initialization. By default, when you go to print that datetime object, you are getting the representation of str(DatetimeObjectInstance)
(in your case, str(d)
).
If you want a different format, you should use String Format Time (strftime(...))
datetime.strptime(date_string, format)
function returns a datetime
object corresponding to date_string
, parsed according to format
.
When you print datetime
object, it is formatted as a string in ISO 8601 format, YYYY-MM-DDTHH:MM:SS
References: