Maison  >  Questions et réponses  >  le corps du texte

python - Question sur le calcul des dates

Obtenez d'abord le code

def get_date(today,num):

    try:

        myday = datetime.datetime( int(today[0:4]),int(today[5:7]),int(today[8:10]) ) + datetime.timedelta(days=num)

        dt = myday.strftime('%Y-%m-%d')

    except Exception as e:

        print(e)

        print('日期格式不合法')

        return

    return dt
if __name__=='__main__':

    print('计算日期列表...')

    date_list=[]

    today='2017-06-20'

    for i in range(-90,0):

        date=get_date(today,i)

        ISOTIMEFORMAT = '%Y-%m-%d'

        tm=time.strptime(date, ISOTIMEFORMAT)

        if time.asctime(tm)[0:3]!='Sat' and time.asctime(tm)[0:3]!='Sun':

            date_list.append(date)#去除双休日

        else:

            print date,'is holiday,removed..'

    #date_list就是日期列表

Le calcul s'applique à toutes les dates des 90 jours précédant le 20/06/2017, sauf le week-end. Quelqu'un a-t-il une méthode plus simple et plus violente ? Des bibliothèques tierces sont également recommandées.

伊谢尔伦伊谢尔伦2675 Il y a quelques jours779

répondre à tous(1)je répondrai

  • 代言

    代言2017-06-22 11:53:40

    from datetime import datetime, timedelta
    
    def get_date(today):
        date_format = '%Y-%m-%d'
        dt = datetime.strptime(today, date_format)
        for i in range(1, 91):
            dt = dt + timedelta(days=-1)
            if dt.weekday() > 0 and dt.weekday() < 6:
                yield dt.strftime(date_format)
    
    print list(get_date('2017-06-20'))

    répondre
    0
  • Annulerrépondre