Python Forum

Full Version: Change format of datetime
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi!

I just got a e-paper display and downloaded a nice script to let it get weather, my schedule and such.
The script does put the date for every schedule entry in the format YYYY-mm-dd, and I've found the code below that I believe puts this out.

I would like to display this time and date in the format 04 feb instead, as now, 2019-02-04.

I've spent hours and hours, and can't get it right. About to loose my mind here... tried every possible combination of datetime.

due_date = int(datetime.date(int(str(my_task['due']['date']).split('-')[0]), int(str(my_task['due']['date']).split('-')[1]), int(str(my_task['due']['date']).split('-')[2])).strftime('%j')) + (int(str(my_task['due']['date']).split('-')[0]) * 365)
I'd be incredibly happy if someone could give me a helping hand here! :)

Best regards!
It sounds like you want the strftime method of the date object.

>>> today = datetime.date.today()
>>> today.strftime('%b %d')
'Feb 04'
Full details on the format strings used are docs.
(Feb-04-2019, 06:53 PM)ichabod801 Wrote: [ -> ]It sounds like you want the strftime method of the date object.

>>> today = datetime.date.today()
>>> today.strftime('%b %d')
'Feb 04'
Full details on the format strings used are docs.

Thank's alot ichabod801, but no matter how I do it doesn't work. I'm quite new to python, but speak fluent PHP... but that doesn't seem to help right now hehe
What is not working?
>>> text = '2019-04-02'
>>> nums = [int(x) for x in text.split('-')]
>>> dt = datetime.date(*nums)
>>> dt.strptime('%b %d')
'Feb 04'
(Feb-04-2019, 08:52 PM)ichabod801 Wrote: [ -> ]What is not working?
>>> text = '2019-04-02'
>>> nums = [int(x) for x in text.split('-')]
>>> dt = datetime.date(*nums)
>>> dt.strptime('%b %d')
'Feb 04'

I've got this row above of code but can't use your script to get it right..
I tried this:
nums = [int(x) for x in due_date.split('-')]
>>> dt = datetime.date(*nums)
>>> dt.strptime('%b %d')
but with no luck.
If you want help here, you need to be more clear. I can't diagnose the problem with 'no luck'. What was due_date, what output did you get, and how was it not what you wanted?
I'm sorry ichabod801, I'm at my phone at the moment and should've waited til I could test it some more and give you more info that "no luck". I'll get back on this later :) Thanks again!,