根据月份将当前或明年添加到字符串

时间:2017-12-05 16:00:05

标签: python

我正在从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'

1 个答案:

答案 0 :(得分: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')