CrazyProgrammer
CrazyProgrammer

Reputation: 49

how to know which quarter does the current month belongs to ? (in python )

I want to know to which quarter(Q1,Q2,Q3,Q4) does the current month belongs to in python. I'm fetching the current date by importing time module as follows:

import time
print "Current date "  + time.strftime("%x")

any idea how to do it ?

Upvotes: 3

Views: 4817

Answers (2)

Saish
Saish

Reputation: 521

Modifying your code, I get this:

import time

month = int(time.strftime("%m")) - 1 # minus one, so month starts at 0 (0 to 11)
quarter = month / 3 + 1              # add one, so quarter starts at 1 (1 to 4)
quarter_str = "Q" + str(quarter)     # convert to the "Qx" format string
print quarter_str

Or you could use the bisect module:

import time
import bisect

quarters = range(1, 12, 3)           # This defines quarters: Q1 as 1, 2, 3, and so on 
month = int(time.strftime("%m"))

quarter = bisect.bisect(quarters, month)
quarter_str = = "Q" + str(quarter)
print quarter_str

Upvotes: 4

nd.
nd.

Reputation: 8932

strftime does not know about quarters, but you can calculate them from the month:

  1. Use time.localtime to retrieve the current time in the current timezone. This function returns a named tuple with year, month, day of month, hour, minute, second, weekday, day of year, and time zone offset. You will only need the month (tm_mon).

  2. Use the month to calculate the quarter. If the first quarter starts with January and ends with March, the second quarter starts with April and ends with June, etc. then this is as easy as dividing by 4 without remainder and adding 1 (for 1..3 // 4 == 0, 0 + 1 == 1, 4..6 // 4 == 1, 1 + 1 == 2, etc.). If your definition of what a quarter is differs (e.g. companies may choose different start dates for their financial quarters), you have to adjust the calculation accordingly.

Upvotes: -1

Related Questions