t = e['updated_parsed'] dt = datetime.datetime(t[0],t[1],t[2],t[3],t[4],t[5],t[6] print dt >>>2010-01-28 08:39:49.000003 How do I turn that into a string?:
"January 28, 2010" 17 Answers
The datetime class has a method strftime. The Python docs documents the different formats it accepts:
- Python 2: strftime() Behavior
- Python 3: strftime() Behavior
For this specific example, it would look something like:
my_datetime.strftime("%B %d, %Y") 1Here is how you can accomplish the same using python's general formatting function...
>>>from datetime import datetime >>>"{:%B %d, %Y}".format(datetime.now()) The formatting characters used here are the same as those used by strftime. Don't miss the leading : in the format specifier.
Using format() instead of strftime() in most cases can make the code more readable, easier to write and consistent with the way formatted output is generated...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now()) Compare the above with the following strftime() alternative...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y")) Moreover, the following is not going to work...
>>>datetime.now().strftime("%s %B %d, %Y" % "Andre") Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> datetime.now().strftime("%s %B %d, %Y" % "Andre") TypeError: not enough arguments for format string And so on...
3Using f-strings, in Python 3.6+.
from datetime import datetime date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}' 2very old question, i know. but with the new f-strings (starting from python 3.6) there are fresh options. so here for completeness:
from datetime import datetime dt = datetime.now() # str.format strg = '{:%B %d, %Y}'.format(dt) print(strg) # July 22, 2017 # datetime.strftime strg = dt.strftime('%B %d, %Y') print(strg) # July 22, 2017 # f-strings in python >= 3.6 strg = f'{dt:%B %d, %Y}' print(strg) # July 22, 2017 strftime() and strptime() Behavior explains what the format specifiers mean.
Python datetime object has a method attribute, which prints in readable format.
>>> a = datetime.now() >>> a.ctime() 'Mon May 21 18:35:18 2018' >>> 1Read strfrtime from the official docs.
0This is for format the date?
def format_date(day, month, year): # {} betekent 'plaats hier stringvoorstelling van volgend argument' return "{}/{}/{}".format(day, month, year)