Python 标准库:datetime

datetime 是一个用于日期时间处理的模块。

可以调用 datetime 的 date 方法来获取一个日期对象。

import datetime

print datetime.date(2017,1,12)

输出:

2017-01-12

如果想要知道某个日期是否是工作日,可以调用 datetime 的 weekday 方法。 它会返回一个数值,代表那一天是星期几。 周一对应数字 1, 周日对应数字 7,如果数字小于 5, 说明就是工作日了。

所以如果想要知道某个日期后一段时间内哪些天是工作日,可以写一个函数来判断:

import datetime

def business_days(start_date, num):

    result = []

    while len(result) < num:

        for i in xrange(num):

            result.append(start_date)

        start_date += datetime.timedelta(1)

    return result```

其中的 timedelta 方法可以返回一段时间间隔,

`class datetime.timedelta
([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])`

比如可以这样用 
`datetime.timedelta(weeks=40, days=84, hours=23, minutes=50, seconds=600)`

测试一下看看 2017 年 1 月 26 日后的十天哪些天是工作日呢,

start_date = datetime.date(2017, 1, 26)

result = business_days(start_date, 10)

print result

结果返回了一个列表,

[datetime.date(2017, 1, 26), datetime.date(2017, 1, 27), datetime.date(2017, 1, 30), datetime.date(2017, 1, 31), datetime.date(2017, 2, 1), datetime.date(2017, 2, 2), datetime.date(2017, 2, 3), datetime.date(2017, 2, 6), datetime.date(2017, 2, 7), datetime.date(2017, 2, 8)]

当然我们的实际工作日没有这么多,因为这段时间刚好是 2017 年的中国春节。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SwiftDate概况 从Swift发布起,我们就没有放弃使用Swift。 当然,我们希望在项目能够轻松自如地管理...
    Mee_Leo阅读 10,233评论 1 13
  • 1. 数值类型 ** int 整数 **如:1,100,-8080,0,十六进制:0xff00,0xa5b4c3d...
    泊牧阅读 282评论 0 0
  • 目录 1. 类型汇总 2.数据类型转换 3.列表 4.元组 5.日期和时间 6.字典 一、 类型汇总 1.字符串 ...
    古佛青灯度流年阅读 690评论 2 1
  • datetime模块 创建datetime对象,以及其包含的属性 from datetime import dat...
    KevinCool阅读 2,248评论 0 0
  • 每晚10点就会上床,看会儿其他书,10点半就会睡觉。这是雷打不动的习惯了。可是这3天以来,无论当天的学业有多么繁重...
    2669b34693b4阅读 220评论 0 0