python 獲取月份第一天最後一天

2021-08-16 02:12:51 字數 1992 閱讀 3961

import time,datetime

# 當前時間

now_time = datetime.datetime.now()

now_time_mk = time.mktime(now_time.timetuple()) # 當前時間戳

# 下月第一天最後一秒時間

month = now_time.month

if month == 12:

month = 0

future_mouth_first = datetime.datetime(now_time.year, month + 1,1, 23, 59, 59)

# 當月最後一天最後一秒時間

this_month = future_mouth_first - datetime.timedelta(days=1)

# 當月最後一天最後一秒時間戳

this_month_mk = time.mktime(this_month.timetuple())

# 當月第一點最後一秒

first_day = datetime.datetime(now_time.year, now_time.month, 1, 23, 59, 59)

# 上個月最後一天

up_last = first_day - datetime.timedelta(days=1)

# 上個月第一天第一秒

up_first_day = datetime.datetime(up_last.year, up_last.month, 1)

timedalte 是datetime中的乙個物件,該物件表示兩個時間的差值

建構函式:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

其中引數都是可選,預設值為0

下面應該是常識,幾乎每個人都知道:

1 millisecond = 1000 microseconds

1 minute = 60 seconds

1 hour = 3600 seconds

1 week = 7 days

在建構函式中,引數值的範圍如下:

0 <= microseconds < 1000000

0 <= seconds < 3600*24 (the number of seconds in one day)

-999999999 <= days <= 999999999

timedalte 有三個唯讀屬性:

timedelta.min:負數最大時間差,相當於  timedelta(-999999999)。

timedelta.max:正數最大時間差,相當於  timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)。

timedelta.resolution:兩個時間的最小差值 相當於   timedelta(microseconds=1)。

in [18]: datetime.datetime(now_time.year, now_time.month + 1, 1, 23, 59, 59)

out[18]: datetime.datetime(2018, 4, 1, 23, 59, 59)

in [19]: datetime.timedelta(1)

out[19]: datetime.timedelta(1)

in [20]: datetime.datetime(now_time.year, now_time.month + 1, 1, 23, 59, 59) - datetime.time

...: delta(days=1)

out[20]: datetime.datetime(2018, 3, 31, 23, 59, 59)

獲取月份的第一天和最後一天

在做資料統計的時候會用到按月統計的問題 總結歸納 一般下個月初會統計上個月的一些運營資料,這樣就需要月初和月末的情況 1.獲取上個月第一天及最後一天.echo date y m d strtotime date y m 01 1 month 計算出本月第一天再減乙個月 上個月最後一天 echo da...

js 獲取當前月份 第一天和最後一天

js 獲取當前月份 第一天和最後一天 var now new date 當前日期 var nowmonth now.getmonth 當前月 var nowyear now.getfullyear 當前年 本月的開始時間 var monthstartdate new date nowyear,now...

SQL獲取第一天最後一天

declare dtdatetime set dt getdate declare number int set number 3 1 指定日期該年的第一天或最後一天 a.年的第一天 selectconvert char 5 dt,120 1 1 b.年的最後一天 selectconvert cha...