有用的业务日期范围

DateRanger的Python项目详细描述


什么是DateRanger?

https://travis-ci.org/spitfire-sidra/DateRanger.svghttps://coveralls.io/repos/spitfire-sidra/DateRanger/badge.svg?branch=masterhttps://pypip.in/version/DateRanger/badge.svghttps://pypip.in/py_versions/DateRanger/badge.svghttps://pypip.in/download/DateRanger/badge.svg

DateRanger是一个帮助用户查找日期范围的模块。

安装

目前,DateRanger仍在开发中。

它可以通过github和pip安装。

通过github安装

pip install git+https://github.com/spitfire-sidra/DateRanger

通过PIP安装

pip install --pre DateRanger

用法

日期框架

DateFrame帮助您计算日期范围内的天数、周数、季度数或年数。

它还可以在日期范围内显示每天、每周、每月、季度。

示例代码:

计算日期范围内的天数、周数、月数、季数或年数。

>>>fromdatetimeimportdate>>>fromDateRanger.objectsimportDateFrame>>>>>>df=DateFrame(date(2014,11,1),date(2014,12,20))>>>df.days()# There are 49 days between date(2014, 11, 1) and date(2014, 12, 20)49>>>df.weeks()# There are 7 weeks between date(2014, 11, 1) and date(2014, 12, 20)7>>>df.months()1>>>df.quarters()0>>>df.years()0

在日期范围内每天、每周、每月、季度或年产生收益。

>>>fromdatetimeimportdate>>>fromDateRanger.objectsimportDateFrame>>>>>>df=DateFrame(date(2014,11,30),date(2014,12,2))>>>days=[dayfordayindf.each_day()]>>>days[datetime.date(2014,11,30),datetime.date(2014,12,1),datetime.date(2014,12,2)]>>>>>>weeks=[weekforweekindf.each_week()]# 2 weeks>>>weeks# 2 tuples in a list[(datetime.date(2014,11,23),datetime.date(2014,11,29)),(datetime.date(2014,11,30),datetime.date(2014,12,6))]

其他有用的方法
>>>df.days()>>>df.weeks()>>>df.months()>>>df.quarters()>>>df.years()>>>>>>df.each_day()>>>df.each_week()>>>df.each_month()>>>df.each_quarter()>>>df.each_years()>>>df.get_range()

约会者

要使用此模块,首先需要设置基日期。基准日期可以是过去、现在和将来的任何日期。默认基日期是当前日期,即今天(date.today())。根据给定的日期,此模块帮助我们查找此日期所属的周、季或年。

例如:

如果基日期是datetime.date(2015,1,19),则相对日期范围为:

base_week
=> datetime.date(2015, 1, 18) ~ datetime.date(2015, 1, 24)
The week that contains base_date.
base_month
=> datetime.date(2015, 1, 1) ~ datetime.date(2015, 1, 31)
The month that contains base_date.
base_quarter
=> datetime.date(2015, 1, 1) ~ datetime.date(2015, 3, 31)
The quarter that contains base_date.
base_year
=> datetime.date(2015, 1, 1) ~ datetime.date(2015, 12, 31)
The year that contains base_date.
prev_week
=> datetime.date(2015, 1, 11) ~ datetime.date(2015, 1, 17)
Date range of previous week.
prev_month
=> datetime.date(2014, 12, 1) ~ datetime.date(2012, 12, 31)
Date range of previous month.
next_week
=> datetime.date(2015, 1, 25) ~ datetime.date(2015, 1, 31)
Date range of next week.
next_month
=> datetime.date(2015, 2, 1) ~ datetime.date(2015, 2, 28)
Date range of next month.

示例代码:

>>>fromdatetimeimportdate>>>fromDateRangerimportDateRanger>>>>>>dr=DateRanger(base_date=date(2015,1,1))>>>date_frame=dr.prev_month(2)>>>date_frame<DateRanger.objects.DateFrameobject...>>>>date_frame.weeks()5>>>date_frame.get_range()(datetime.date(2014,11,1),datetime.date(2014,11,30))

其他有用的方法
>>>dr.set_base_date(date)>>>dr.get_base_day()>>>dr.base_week()>>>dr.base_month()>>>dr.base_quarter()>>>dr.base_year()>>>>>>dr.prev_week(...)>>>dr.next_week(...)>>>>>>dr.prev_month(...)>>>dr.next_month(...)>>>>>>dr.prev_quarter(...)>>>dr.next_quarter(...)>>>>>>dr.prev_year(...)>>>dr.next_year(...)>>>>>>dr.from_date(...)>>>dr.to_date(...)

贡献

测试:

python -m unittest discover

此命令执行目录DateRanger/test/下的所有测试用例。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值