在Python中创建date和datetime对象的简单而漂亮的方法。
beautiful-date的Python项目详细描述
美丽的约会
在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)
可用增量:years
,months
,weeks
,days
,hours
,minutes
,
seconds
,microseconds
,leapdays
(见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)
可用的设置器:year
,month
,day
,hour
,minute
,second
,microsecond
,
yearday
和{
工作日:
下周一获得:
>>>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
- 项目
标签: