Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting (YYYY-MM-DD-HH:MM:SS) date time

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?

like image 580
dgj32784 Avatar asked Apr 29 '13 19:04

dgj32784


People also ask

How do I change Excel date format from YYYY-MM-DD HH MM SS?

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.

How do I convert datetime to date format?

To convert a datetime to a date, you can use the CONVERT() , TRY_CONVERT() , or CAST() function.

How do you convert MM DD to YYYY datetime?

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.


2 Answers

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)' 
like image 118
Bryan Avatar answered Sep 23 '22 09:09

Bryan


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?

like image 23
David Avatar answered Sep 25 '22 09:09

David