python求一個時間點的前一個月和後一個月
阿新 • • 發佈:2018-12-30
python如何獲取一個時間點的前一個月和後一個月,網上雖然有很多教程,但是本人感覺太雜了而且不太好用,研究一番之後決定提供一種方法和思路。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import calendar
time = datetime.date(2017, 7, 20) #年,月,日
#求該月第一天
first_day = datetime.date(time.year, time.month, 1)
print u'該月第一天:' + str(first_day)
#求前一個月的第一天
#前一個月最後一天
pre_month = first_day - datetime.timedelta(days = 1) #timedelta是一個不錯的函式
print u'前一個月最後一天:' + str(pre_month)
#前一個月的第一天
first_day_of_pre_month = datetime.date(pre_month.year, pre_month.month, 1)
print u'前一個月的第一天:' + str(first_day_of_pre_month)
#求後一個月的第一天
days_num = calendar.monthrange(first_day.year, first_day.month)[1 ] #獲取一個月有多少天
first_day_of_next_month = first_day + datetime.timedelta(days = days_num) #當月的最後一天只需要days_num-1即可
print u'後一個月的第一天:' + str(first_day_of_next_month)
執行結果如下