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" 
1

7 Answers

The datetime class has a method strftime. The Python docs documents the different formats it accepts:

For this specific example, it would look something like:

my_datetime.strftime("%B %d, %Y") 
1

Here 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...

3

Using f-strings, in Python 3.6+.

from datetime import datetime date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}' 
2

very 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' >>> 
1

Read strfrtime from the official docs.

0

This is for format the date?

def format_date(day, month, year): # {} betekent 'plaats hier stringvoorstelling van volgend argument' return "{}/{}/{}".format(day, month, year) 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy