I want to convert a string like this "29-Apr-2013-15:59:02"
into something more usable.
The dashes can be easily replaced with spaces or other characters. This format would be ideal: "YYYYMMDD HH:mm:ss (20130429 15:59:02)"
.
Edit:
Sorry, I did not specifically see the answer in another post. But again, I'm ignorant so could have been looking at the solution and didn't know it. I've got this working, but I wouldn't consider it "pretty."
#29-Apr-2013-15:59:02 import sys, datetime, time #inDate = sys.argv[1] inDate = 29-Apr-2013-15:59:02 def getMonth(month): monthDict = {'Jan':'01','Feb':'02','Mar':'03','Apr':'04','May':'05','Jun':'06','Jul':'07','Aug':'08','Sep':'09','Oct':'10','Nov':'11','Dec':'12'} for k, v in monthDict.iteritems(): if month == k: return v day = inDate[:2] #print day month = inDate[3:6] #print month year = inDate[7:11] #print year time = inDate[-8:] #print time newDate = year+getMonth(month)+day newDateTime = newDate+" "+time print newDate print newDateTime
Any thoughts on improving?
The easiest way is to press Ctrl + 1 key on your keyboard. Now in the Format cells window, go to the Number tab. Then from the Category list, choose the Custom option. After that, in the Type input box put dd/mm/yyyy hh:mm: ss.
To convert a datetime to a date, you can use the CONVERT() , TRY_CONVERT() , or CAST() function.
yyyy-mm-dd stands for year-month-day . We can convert string format to datetime by using the strptime() function. We will use the '%Y/%m/%d' format to get the string to datetime.
Use datetime.strptime() to parse the inDate
string into a date object, use datetime.strftime() to output in whatever format you like:
>>> from datetime import datetime >>> inDate = "29-Apr-2013-15:59:02" >>> d = datetime.strptime(inDate, "%d-%b-%Y-%H:%M:%S") >>> d datetime.datetime(2013, 4, 29, 15, 59, 2) >>> d.strftime("YYYYMMDD HH:mm:ss (%Y%m%d %H:%M:%S)") 'YYYYMMDD HH:mm:ss (20130429 15:59:02)'
Have you investigated dateutil?
http://labix.org/python-dateutil
I found a similar question to yours: How do I translate a ISO 8601 datetime string into a Python datetime object?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With