Rajeev
Rajeev

Reputation: 46979

Convert date to months and year

From the following dates how to get months and year using python

dates are

           "2011-07-01 09:26:11"   //This showud display  as "This month"
           "2011-06-07 09:26:11"   //This should display as June            
           "2011-03-12 09:26:11"   //This should display as March            
           "2010-07-25 09:26:11"   // Should display as last year

Please let me know how to get these formats using python 2.4

When I have a date variable[with same format] in pandas dataframe, how to perform this ?

Upvotes: 3

Views: 16348

Answers (4)

Jason Strimpel
Jason Strimpel

Reputation: 15526

Good site for python date/time conversions: http://www.saltycrane.com/blog/2008/11/python-datetime-time-conversions/

Upvotes: 0

Bari
Bari

Reputation: 31

from datetime import datetime
a = datetime.strptime('2011-07-01 09:26:11', '%Y-%m-%d %H:%M:%S')
if a.month == datetime.now().month:
    print 'This month'

The other results according to http://docs.python.org/library/datetime.html

Upvotes: 3

Jakob Bowyer
Jakob Bowyer

Reputation: 34708

import time
import calendar

current = time.localtime()

dates = ["2011-07-01 09:26:11", "2011-06-07 09:26:11", "2011-03-12 09:26:11", "2010-07-25 09:26:11"]

for date in dates:
    print "%s" % date
    date = time.strptime(date, "%Y-%m-%d %H:%M:%S")

    if date.tm_year == current.tm_year - 1:
        print "Last year"    

    elif date.tm_mon == current.tm_mon:
        print "This month"

    else:
        print calendar.month_name[date.tm_mon]

Should do roughly what you ask for.

Upvotes: 5

Ryan Ye
Ryan Ye

Reputation: 3269

You could use datetime.strptime to paste the date. But for simple case like yours, i would just use regex.

>>>> import re
>>>> re.match('^(\d+)-(\d+)', "2011-07-01 09:26:11").groups()
('2011', '07')

Upvotes: -2

Related Questions