美文网首页Python我爱编程
Python 获取起止日期段中的时间列表

Python 获取起止日期段中的时间列表

作者: Vicky_习惯做唯一 | 来源:发表于2018-02-27 14:35 被阅读104次

摘要: 根据输入的起止日期(yyyy-MM-dd格式)获取该时间段中的所有日期列表,也可以返回月末日期列表,或者工作日列表

咱们新建一个Python文件之后,都用这个main方法来调用自己的方法体哈:

if__name__ =="__main__":printget_date_list('2018-01-01','2018-02-28')


为了调用datetime等这些已有的库,你需要在文件最上方加入引用语句:

import time from datetime

import datetime, timedelta

Method 1. 获取起止日期时间段的所有时间列表:

# Get date list from begin_date to end_date

def get_date_list(begin_date, end_date):

    dates = []

    # Get the time tuple : dt

    dt = datetime.strptime(begin_date,"%Y-%m-%d")    

    date = begin_date[:]

    while date <= end_date:        

        dates.append(date)        

        dt += timedelta(days=1)       

        date = dt.strftime("%Y-%m-%d")

    return dates

Method 2. 获取起止日期时间段的所有工作日 (周一到周五) 时间列表:

# Get date list from begin_date to end_date

def get_date_list(begin_date, end_date):

    dates = []

    # Get the time tuple : dt

    dt = datetime.strptime(begin_date,"%Y-%m-%d")    

    date = begin_date[:]

    while date <= end_date:

        if dt.strftime("%w")in["1","2","3","4","5"]:

            dates.append(date)        

            dt += timedelta(days=1)        

            date = dt.strftime("%Y-%m-%d")

    return dates

Method 3. 获取起止日期时间段的所有双休日 (周六和周日) 时间列表:

# Get date list from begin_date to end_date

def get_date_list(begin_date, end_date):

    dates = []

    # Get the time tuple : dt

    dt = datetime.strptime(begin_date,"%Y-%m-%d")    

    date = begin_date[:]

    while date <= end_date:

        if dt.strftime("%w") in ["6","0"]:            

            dates.append(date)        

            dt += timedelta(days=1)        

            date = dt.strftime("%Y-%m-%d")

    return dates

Method 4. 用pandas获取起止日期时间段的所有工作日(周一到周五) 时间列表:

需要在文件最上方加入pandas库:

import pandas as pd

当然前提是你本机已经安装了pandas这个神奇的库,如果没有,就进入cmd,然后执行如下自动安装命令:

pip install pandas

如果pip都没有安装的话,需要先安装pip(python的Library自动安装工具):

装pip的方式一:

在网上下载pip压缩文件,然后cmd命令行解压缩安装:

# tar -xzvf pip-1.5.4.tar.gz

# cd pip-1.5.4

# python setup.py install

装pip的方式二:

不用下载pip文件,直接在cmd命令行执行easy_install.exe pip安装:

python27\Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe,说明pip命令可以使用:

在cmd下输入“pip”,如果能识别"pip"指令,则说明pip安装成功了。

也就是说会出现如下的画面:

如果所有的都装好了,直接在python文件中引用pandas来实现上述代码只需要简单的一行:

def get_date_list(start, end):

    date_list = [d.strftime("%Y-%m-%d") for d in pd.date_range(start, end, freq="B")]

    return date_list

Method 5. 用pandas获取起止日期时间段的所有月末时间列表(仅仅需要修改freq):

def get_date_list(start, end):

date_list = [d.strftime("%Y-%m-%d") for d in pd.date_range(start, end, freq="M")]

return date_list

Comments:

如果你对方法中的一些内置函数不是非常明白,例如"datetime.strptime" 和“strftime”的用法,你可以参照如下贴子:

https://www.cnblogs.com/pingqiang/p/7812137.html 

谢谢阅读,O(∩_∩)O哈哈~

相关文章

  • Python 获取起止日期段中的时间列表

    摘要: 根据输入的起止日期(yyyy-MM-dd格式)获取该时间段中的所有日期列表,也可以返回月末日期列表,或者工...

  • Python实现微信红包提醒(一)

    Python实现获取微信好友列表信息 安装Python第三方库 登录微信 获取微信好友的列表: Python实现微...

  • python-列表、元组和字符

    小甲鱼的《零基础入门学习python》学习笔记 1.列表 1.1列表的基本操作 1.2从列表中获取元素 和C中的数...

  • 4个Python提效用法

    索引和切片 Python中获取列表中的任意元素。除了支持常见的正索引外, Python还支持负索引和切片。 正索引...

  • 阿里云python sdk使用入门

    python sdk的安装 先从Python SDK列表获取产品对应的Python SDK名称,然后通过pip进行...

  • java 获取一个时间段 如最近20天的时间列表

    获取一段时间的列表 如3/29 - 4/19 中间20天的时间 此方法不会出现日期错乱的情况 /** * 获取一段...

  • with open 替换行操作

    Python编程中遇到替换文档中指定行的值操作 1、获取文件内容2、列表生成式,根据 \n 切割值3、遍历列表,根...

  • 数组的索引和切片

    索引: 获取数组中特定位置元素的过程切片: 获取数组元素子集的过程 一维数组的索引和切片: 与Python的列表类...

  • python生成github中Js的按Stars排序报表

    python学习实践,根据github的API获取某个语言的项目列表生成图表 通过python的requests模...

  • python 列表

    通过列表下标获取下标所对应列表中的值 [0---len] 值 = 列表[下标] 通过值获取在列表中对应的下标 ...

网友评论

    本文标题:Python 获取起止日期段中的时间列表

    本文链接:https://www.haomeiwen.com/subject/afxmxftx.html