封尘网

让学习成为一种习惯!

Python获取上个月的第一天和最后一天

如果总是停留在一些变量、运算符、列表、字典等基础的定义或者调用之中那样学习Python是很难有进步的,只有通过实际的一些需求才能更加容易深入到Python的乐趣之中。这是我最近感觉为什么学习Pyhton一段时间了却又好像没学到什么东西似的。

本次记录一下通过Python实现获取上个月的某天和最后一天;每个月第一天不用说都是1号,但是最后一天可能是30号也可能是31号,不算2月里头特殊情况;

python实现代码:

from datetime import date 
from dateutil.relativedelta import relativedelta 
today = date.today() 
d = today - relativedelta(months=1)    #这个1指上一个月
date(d.year,d.month,1)                 #这里获取上一个月的
date(today.year,today.month,1) - relativedelta(days=1)  #这里获取上个月最后一天

效果如下:

如果要获取其它的日期都是可以的,感觉这太简单了,没什么实际用途;那么能把日期输出为星期几吗?答案是肯定的;

# -*- conding:UTF-8 -*- 
import time,datetime 
from dateutil.relativedelta import relativedelta 
def get_week_day(data): 
    week_day_dict = { 0:'星期一', 1:'星期二', 2:'星期三', 3:'星期四', 4:'星期五', 5:'星期六', 6:'星期天'} 
    day = date.weekday(data) 
    return week_day_dict[day] 

today = date.today() 
d = today - relativedelta(months=1) 
first_date = date(d.year,d.month,1) 
last_date = date(today.year,today.month,1) - relativedelta(days=1) 
print (first_date),(get_week_day(first_date)) 
print (oldata),(get_week_day(oldata))

效果:

2017-04-01 星期六
2017-04-30 星期天

提醒:本文最后更新于 925 天前,文中所描述的信息可能已发生改变,请谨慎使用。