python - 关于计算日期的问题
伊谢尔伦
伊谢尔伦 2017-06-22 11:51:40
[Python讨论组]

先上代码

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就是日期列表

计算的是2017-6-20之前90天除了双休日之外的所有日期,有谁有更简单暴力的方法吗?第三方库推荐下也行。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
代言
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'))
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号