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"
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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")
Method 2
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…
Method 3
Using f-strings, in Python 3.6+.
from datetime import datetime
date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}'
Method 4
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.
Method 5
Python datetime object has a method attribute, which prints in readable format.
>>> a = datetime.now() >>> a.ctime() 'Mon May 21 18:35:18 2018' >>>
Method 6
Read strfrtime from the official docs.
Method 7
This is for format the date?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0