在Python中创建date和datetime对象的简单而漂亮的方法。

beautiful-date的Python项目详细描述


美丽的约会

PyPI versionTestsDownloads

在Python中创建日期和日期时间对象的简单而漂亮的方法。在

之前

fromdatetimeimportdate,datetimed=date(year=2018,month=3,day=25)t=datetime(year=2018,month=3,day=25,hour=23,minute=45)

之后的

^{pr2}$

安装

pip install beautiful-date

示例

创建日期

使用月份名称:

>>>frombeautiful_dateimport*>>>25/Mar/2018# European formatBeautifulDate(2018,3,25)>>>Mar/25/2018# US formatBeautifulDate(2018,3,25)

使用月数:

>>>25/M[3]/2018# European formatBeautifulDate(2018,3,25)>>>M[3]/25/2018# US formatBeautifulDate(2018,3,25)

或者选择:

>>>D@25/3/2018# European format (default)BeautifulDate(2018,3,25)>>>D=MDY()# Add this at the top of your script to use US format. >>>d=D@3/25/2018# US formatBeautifulDate(2018,3,25)

您还可以轻松地检索当前日期作为BeautifulDate对象和当前时间,方法是:

>>>D.today()BeautifulDate(2020,8,24)>>>D.now()datetime.datetime(2020,8,24,0,59,12,451363)

可用格式(仅当您使用D@创建日期时才需要):

classDMY(BaseDateFormat):_format='day','month','year'classMDY(BaseDateFormat):_format='month','day','year'classYMD(BaseDateFormat):_format='year','month','day'classYDM(BaseDateFormat):_format='year','day','month'

创建日期时间

前面的方法创建从date继承的BeautifulDate对象,但可以 使用索引/切片可以轻松扩展到datetime

>>>(Oct/16/1995)[:]datetime.datetime(1995,10,16,0,0)>>>(Oct/16/1995)[23]datetime.datetime(1995,10,16,23,0)>>>(Oct/16/1995)[23:14]datetime.datetime(1995,10,16,23,14)>>>(Oct/16/1995)[23:14:10]datetime.datetime(1995,10,16,23,14,10)

如果需要月份的数字,也可以使用前缀D @

>>>(D@16/10/1995)[:]datetime.datetime(1995,10,16,0,0)>>>(D@16/10/1995)[23]datetime.datetime(1995,10,16,23,0)>>>(D@16/10/1995)[23:14]datetime.datetime(1995,10,16,23,14)>>>(D@16/10/1995)[23:14:10]datetime.datetime(1995,10,16,23,14,10)

日期/日期时间操作:

此库还为 relativedelta来自 dateutil

添加/减去/设置时间增量:

注意,单数时间单位(年,月,…)设置给定值,复数(年,月,)将其相加。在

>>>d=26/Mar/2018>>>t=d[12:23:15]>>>d+2*yearsBeautifulDate(2020,3,26)>>>d-2*daysBeautifulDate(2018,3,24)>>>t+25*hoursdatetime.datetime(2018,3,27,13,23,15)

可用增量:yearsmonthsweeksdayshoursminutessecondsmicrosecondsleapdays (见relativedelta)。在

>>>d=26/Mar/2018>>>t=d[12:23:15]>>>d+2*yearBeautifulDate(2,3,26)>>>d+=2*day>>>dBeautifulDate(2018,3,2)>>>t+22*hourdatetime.datetime(2018,3,26,22,23,15)>>>t+=22*hour>>>tdatetime.datetime(2018,3,26,22,23,15)

可用的设置器:yearmonthdayhourminutesecondmicrosecondyearday和{} (见relativedelta)。在

工作日:

下周一获得:

>>>d=29/Mar/2018# Thursday>>>d+MO# Equivalent to MO(1)BeautifulDate(2018,4,2)

第二天到下周一:

>>>d=29/Mar/2018>>>d+MO(2)BeautifulDate(2018,4,9)

上周六获得:

>>>d=29/Mar/2018>>>d-SABeautifulDate(2018,3,24)

从第二个星期六开始:

>>>d=29/Mar/2018>>>d-SA(2)BeautifulDate(2018,3,17)

从第二个到上周六(与上一个相同):

>>>d=29/Mar/2018>>>d+SA(-2)BeautifulDate(2018,3,17)

利用率

排水管:

您可以使用drange生成日期范围:

>>>fordindrange(27/Mar/1994,5/Apr/1994):...print(d)1994-03-271994-03-281994-03-291994-03-301994-03-311994-04-011994-04-021994-04-031994-04-04>>>fordindrange(27/Mar/1994,5/Apr/1994,2*days):...print(d)1994-03-271994-03-291994-03-311994-04-021994-04-04

和日期时间:

>>>fordtindrange((27/Mar/1994)[10:25],(4/Apr/1994)[10:10]):...print(dt)1994-03-2710:25:001994-03-2810:25:001994-03-2910:25:001994-03-3010:25:001994-03-3110:25:001994-04-0110:25:001994-04-0210:25:001994-04-0310:25:00>>>fordtindrange((27/Mar/1994)[10:25],(4/Apr/1994)[10:10],20*hours):...print(dt)1994-03-2710:25:001994-03-2806:25:001994-03-2902:25:001994-03-2922:25:001994-03-3018:25:001994-03-3114:25:001994-04-0110:25:001994-04-0206:25:001994-04-0302:25:001994-04-0322:25:00

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

推荐PyPI第三方库


热门话题
java无法从布尔值中获得正确显示的结果   json java流逗号分隔   java ArrayList索引超出范围,但实际上没有?   Android中的java左对齐文本   当excel中的某些更改未保存时,如何在java中使用poi读取   java如何重新排列数组,使空值占据数组的开头?   查找多维数组是否在Java数组中   在Java中实现无数据库的数据   java什么是系统负载?   java在启动活动时“错误类型3错误:活动类{}不存在”,错误类型3活动类不存在”   java如何在textView中显示多个值   java JDBC:如何从结果集中检索SQL COUNT函数的结果?   JAXRS客户端的java应答   java奇怪的包装器类行为==和=   爪哇改变油漆的颜色会改变所有的颜色   在IntelliJ中使用Maven、Spring和ApacheSpark的java会导致错误   java清单文件的用途是什么   编译为什么Java编译器默认不缩短名称?(用于性能和模糊处理)   java JPA查询创建bean时出错