User1 User1 - 11 months ago 60
Linux Question

How to convert YYYYMMDDHHMMSS to a date readable by `date`

I have a set of date/time strings in the YYYYMMDDHHMMSS format that I want to convert to something readable by the

utility. Usually, I can do something like:

date -d "2010-10-01 12:34:56"

does not like the YYYYMMDDHHMMSS:

date -d "20100101123456"
..invalid date

So, I probably need to refine the string to be in the prior format. I'm thinking
is the answer, but it gets ugly very fast. I'm quite certain my strings will be the proper format, so how do I easily convert them?

Answer Source

date doesn't allow "YYYYMMDDHHMMSS", but it does "YYYYMMDD HH:MM:SS", so:

date -d "${D:0:8} ${D:8:2}:${D:10:2}:${D:12:2}"