abidinberkay abidinberkay - 5 months ago 33
Python Question

Python3 convert Julian date to standard date

I have a string as Julian date like

"16152"
meaning 152'nd day of 2016 or
"15234"
meaning 234'th day of 2015.

How can I convert these Julian dates to format like
20/05/2016
using Python 3 standard library?

I can get the year 2016 like this:
date = 20 + julian[0:1]
, where
julian
is the string containing the Julian date, but how can I calculate the rest according to 1th of January?

Answer

The .strptime() method supports the day of year format:

>>> import datetime
>>>
>>> datetime.datetime.strptime('16234', '%y%j').date()
datetime.date(2016, 8, 21)

And then you can use strftime() to reformat the date

>>> date = datetime.date(2016, 8, 21)
>>> date.strftime('%d/%m/%Y')
'21/08/2016'