python怎么获取上月最后一天的日期

Python011

python怎么获取上月最后一天的日期,第1张

第一天不用获取吧,都是1呀,最后一天的话可以使用标准模块的calendar模块的monthrange(year,month)方法该方法返回指定年月的最后一天星期和日期,类型为tuple,如import?calendarprint?calendar.monthrange(2015,?2)结果为(6, 28),6为最后一天星期几,28为2月的最后一天日期

使用time模块的time.localtime()获取当前日期,使用calendar模块calendar.monthrange的来获取指定月份的天数。即可得到月初日期和月末日期,代码如下:

import calendar

import time

day_now = time.localtime()

day_begin = '%d-%02d-01' % (day_now.tm_year, day_now.tm_mon) # 月初肯定是1号

wday, monthRange = calendar.monthrange(day_now.tm_year, day_now.tm_mon) # 得到本月的天数 第一返回为月第一日为星期几(0-6), 第二返回为此月天数

day_end = '%d-%02d-%02d' % (day_now.tm_year, day_now.tm_mon, monthRange)

print('月初日期为:',day_begin, '月末日期为:',day_end)

这需求折腾了我半天..

import time

import datetime as datetime

def late_time(time2):

    # 先获得时间数组格式的日期

    #time2是外部传入的任意日期

    now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')

  #如需求是当前时间则去掉函数参数改写      为datetime.datetime.now()

    threeDayAgo = (now_time - datetime.timedelta(days =30))

    # 转换为时间戳

    timeStamp =int(time.mktime(threeDayAgo.timetuple()))

    # 转换为其他字符串格式

    otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")

    return otherStyleTime

a = late_time("2019-3-30")

print(a)# 打印2018-02-28