2017-12-05 4 views
0

私はhttps://stocktwits.com/SpeedyCallsから撤去しており、有効期限が末尾に付加されるようにボットが期限切れに使用する日付を書式設定する必要があります。月に応じて文字列に現在または次の年を追加する

例は以下のとおりです。 12月は今年、1月以降は来年になります。

私はハックを理解することができましたが、よりスマートな方がより正確で正しい方法を見つけられると確信しています。おかげさまで

'Jan, 19th' 
'Dec, 15th' 
'Jan, 19th' 
'Jun, 15th' 
'Apr, 20th' 
'Dec, 15th' 
'Jan, 19th' 
'Dec, 15th' 
'Jan, 19th' 
'Feb, 16th' 
'May, 18th' 
'Dec, 15th' 
'Mar, 16th' 
'Dec, 15th' 
'Feb, 16th' 
+0

あなたは何を試していますか? – Prabhakar

+0

私はそれぞれを両方に追加し、どちらがdatetime.now()とdatetime.now()+ timedelta( '182日')のどちらであるかを判断していました – mobone

答えて

0

これは、私が必要性を解決するために書いた方法です。

def get_exp_date(self, exp): 
    exp_datetime_0 = datetime.strptime(exp+str(datetime.now().year), '%b, %d %Y') 
    exp_datetime_1 = datetime.strptime(exp+str(datetime.now().year+1), '%b, %d %Y') 
    start = datetime.now() 
    end = datetime.now() + timedelta(days=182) 

    if exp_datetime_1<end and exp_datetime_1>start: 
     exp_date = exp_datetime_1 
    else: 
     exp_date = exp_datetime_0 

    return exp_date.strftime('%b, %d %Y') 
関連する問題