第一天不用获取吧,都是1呀,最后一天的话可以使用标准模块的calendar模块的monthrange(year,month)方法
该方法返回指定年月的最后一天星期和日期,类型为tuple,如
import calendarprint calendar.monthrange(2015, 2)
结果为(6, 28),6为最后一天星期几,28为2月的最后一天日期
'''''日期相关的操作
'''
from
datetime
import
datetime
from
datetime
import
timedelta
DATE_FMT
=
'%Y-%m-%d'
DATETIME_FMT
=
'%Y-%m-%d
%H:%M:%S'
DATE_US_FMT
=
'%d/%m/%Y'
'''''
格式化常用的几个参数
Y
:
1999
y
:99
m
:
mouth
02
12
M
:
minute
00-59
S
:
second
d
:
day
H
:
hour
'''
def
dateToStr(date):
'''''把datetime类型的时间格式化自己想要的格式'''
return
datetime.strftime(date,
DATETIME_FMT)
def
strToDate(strdate):
'''''把str变成日期用来做一些操作'''
return
datetime.strptime(strdate,
DATETIME_FMT)
def
timeElement():
'''''获取一个时间对象的各个元素'''
now
=
datetime.today()
'year:
%s
month:
%s
day:
%s'
%(now.year,
now.month,
now.day)
'hour:
%s
minute:
%s
second:
%s'
%(now.hour,
now.minute,
now.second)
'weekday:
%s
'
%(now.weekday()+1)
#一周是从0开始的
def
timeAdd():
'''''
时间的加减,前一天后一天等操作
datetime.timedelta([days[,
seconds[,
microseconds[,
milliseconds[,
minutes[,
hours[,
weeks]]]]]]])
参数可以是正数也可以是负数
得到的对象可以加也可以减
乘以数字和求绝对值
'''
atime
=
timedelta(days=-1)
now
=
datetime.strptime('2001-01-30
11:01:02',
DATETIME_FMT)
now
+
atime
now
-
abs(atime)
now
-
abs(atime)*31
import
calendar
def
lastFirday():
today
=
datetime.today()
targetDay
=
calendar.FRIDAY
thisDay
=
today.weekday()
de
=
(thisDay
-
targetDay)
%
7
res
=
today
-
timedelta(days=de)
res
def
test():
dateToStr(datetime.today())
strToDate('2013-01-31
12:00:01')
#timeElement()
#timeAdd()
#lastFirday()
if
__name__=='__main__':
test()