2016-05-10 20 views
-3

現在の四半年を取得してから、最初の日付と現在の四半期の最終日をPythonで取得するにはどうすればよいですか?Pythonで現在の四半期の最初の日付と最後の日付を取得しますか?

iは

import datetime 

人々がまっすぐに答える必要がスタックオーバーフローに見て、非常にシンプルであるべき日時インポートしたいです。これまであなたがリンクしているのは、たくさんのコメントがあります。だから、ユーザーは正しい答えを見つけるためにすべてのコメントを調べなければなりません。私は単純でまっすぐな答えを書いています。

+3

([Pythonは現在の暦四半期の最初と最後の日を取得] http://stackoverflow.com/questions/36793381/python-get-first-and-last-day-of-current-の可能性のある重複カレンダー - 四半期) – piyushj

+0

ありがとう、piyush jaiswal、私はこれを検索したとき、私は最初のページでそれを取得していない。だから、私はそこにstackoverflowではないと思った。 – Krishh

答えて

2

どれでもどのように私はC#でいくつかの簡単な解決策を見つけたとのpythonにそれを変換し、初日持つ

from datetime import datetime,timedelta 
current_date=datetime.now() 
currQuarter = (current_date.month - 1)/3 + 1 
dtFirstDay = datetime(current_date.year, 3 * currQuarter - 2, 1) 
dtLastDay = datetime(current_date.year, 3 * currQuarter + 1, 1) + timedelta(days=-1) 
4

がKarishhのソリューション@と同じです。しかし、最後の日付では、Python2.7は第4四半期に問題を引き起こします。 12 + 1 = 13とdatetimeは月として13を受け入れないためです。だからあなたはそれを処理するためにいくつかのトリックを行う必要があります。

import datetime 


def get_quarter(date): 
    return (date.month - 1)/3 + 1 

def get_first_day_of_the_quarter(date): 
    quarter = get_quarter(date) 
    return datetime.datetime(date.year, 3 * quarter - 2, 1) 

def get_last_day_of_the_quarter(date): 
    quarter = get_quarter(date) 
    month = 3 * quarter 
    remaining = month/12 
    return datetime.datetime(date.year + remaining, month % 12 + 1, 1) + datetime.timedelta(days=-1) 
関連する問題