程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python datetime模塊 得到 當前時間 前後一分鐘一天 日期時間

編輯:Python

目錄

1、計算當前時間

2、計算當前時間的前一天/後一天

3、計算當前時間的前一小時/後一小時

4、計算當前時間的前一分鐘/後一分鐘

5、計算當前時間的前一秒/後一秒

6、計算兩個時間不同天數的時間差

7、獲取所在當月的日期

8、獲取所在當前月份

9、獲取所在當前年份

10、獲取當前時間的三天前的此時

11、獲取當前時間三天n分n秒前的時間

12、獲取當前時間的昨天/明天日期

13、獲取當前時間的本周第一天和本周最後一天

14、獲取當前時間的上周第一天和上周最後一天

15、獲取當前時間的本月第一天和本月最後一天

16、獲取上月第一天和最後一天

17、獲取本季第一天和最後一天

18、獲取上季第一天和最後一天

19、獲取本年第一天和最後一天

20、獲取去年第一天和最後一天


1、計算當前時間

import datetime
print(datetime.datetime.now())
# 2022-07-25 19:52:27.479555
# 格式化時間
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 19:52:27

2、計算當前時間的前一天/後一天

import datetime
# 當前時間
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 19:57:51
# 當前時間的後一天
print((datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-26 19:57:51
# 當前時間的前一天
print((datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-24 19:57:51

3、計算當前時間的前一小時/後一小時

import datetime
# 當前時間
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:00:20
# 當前時間的前一小時
print((datetime.datetime.now() + datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 21:00:20
# 當前時間的後一小時
print((datetime.datetime.now() - datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 19:00:20

4、計算當前時間的前一分鐘/後一分鐘

import datetime
# 當前時間
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:03:41
# 當前時間的前一分鐘
print((datetime.datetime.now() + datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:04:41
# 當前時間的後一分鐘
print((datetime.datetime.now() - datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:02:41

5、計算當前時間的前一秒/後一秒

import datetime
# 當前時間
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:03:41
# 當前時間的前一分鐘
print((datetime.datetime.now() + datetime.timedelta(seconds=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:04:41
# 當前時間的後一分鐘
print((datetime.datetime.now() - datetime.timedelta(seconds=1)).strftime("%Y-%m-%d %H:%M:%S"))
# 2022-07-25 20:02:41

6、計算兩個時間不同天數的時間差

from datetime import datetime
time_1 = '2020-03-02 15:00:00'
time_2 = '2020-03-03 16:00:00'
time_1_struct = datetime.strptime(time_1, "%Y-%m-%d %H:%M:%S")
time_2_struct = datetime.strptime(time_2, "%Y-%m-%d %H:%M:%S")
print(time_1_struct)
print(time_2_struct)
total_seconds = (time_2_struct - time_1_struct).total_seconds()
print('兩個時間(不同天)的相差的秒數:', int(total_seconds))
min_sub = total_seconds / 60
print('兩個時間(不同天)的相差的分鐘數:', int(min_sub))
min_days = (datetime(year=2010, month=3, day=1) - datetime(year=2010, month=2, day=1)).days
print('兩個時間(不同天)的相差的天數:', min_days)

運行結果:

7、獲取所在當月的日期

import datetime
present_date = datetime.datetime.now().day
print('本月當前日期:', present_date)
# 本月當前日期: 26

8、獲取所在當前月份

import datetime
present_month = datetime.datetime.now().month
print('當前月份:', present_month)
# 當前月份: 7

9、獲取所在當前年份

import datetime
now = datetime.datetime.now()
print('當前時間:', now)
# 當前時間: 2022-07-26 11:15:30.104951
present_year = datetime.datetime.now().year
print('當前年份:', present_year)
# 當前年份: 2022

10、獲取當前時間的三天前的此時

import datetime
now = datetime.datetime.now()
print('當前時間:', now)
# 當前時間: 2022-07-26 11:19:22.759510
three_days_ago = now + datetime.timedelta(-3)
print('當前時間三天前此時:', three_days_ago)
# 當前時間三天前此時: 2022-07-23 11:19:22.759510

11、獲取當前時間三天n分n秒前的時間

import datetime
now = datetime.datetime.now()
print('當前時間:', now)
# 當前時間: 2022-07-26 11:24:39.188088
three_days_ago = now + datetime.timedelta(-3)
print('當前時間三天前此時:', three_days_ago)
# 當前時間三天前此時: 2022-07-23 11:24:39.188088
that_time_1 = now + datetime.timedelta(days=-3, minutes=-12, seconds=0)
print('當前時間三天12分0秒前的時間:', that_time_1)
# 當前時間三天12分0秒前的時間: 2022-07-23 11:12:39.188088
that_time_2 = now + datetime.timedelta(days=-10, minutes=-20, seconds=-30)
print('當前時間10天20分30秒前的時間:', that_time_2)
# 當前時間10天20分30秒前的時間: 2022-07-16 11:04:09.188088
that_time_3 = now + datetime.timedelta(days=10, minutes=20, seconds=30)
print('當前時間的10天20分30秒後的時間:', that_time_3)
# 當前時間的10天20分30秒後的時間: 2022-08-05 11:45:09.188088

12、獲取當前時間的昨天/明天日期

import datetime
from datetime import timedelta
# 獲取今天日期:
# 返回datetime格式:
now = datetime.datetime.now()
print(now)
# 2022-07-26 11:58:01.523623
# 返回datetime格式:
now = datetime.datetime.now().date()
print(now)
# 2022-07-26
now = datetime.date.today()
print(now)
# 2022-07-26
# 獲取昨天日期:
yesterday = now + timedelta(days=-1)
print(yesterday)
# 2022-07-25
yesterday = now - timedelta(days=1)
print(yesterday)
# 2022-07-25
# 獲取明天日期
tomorrow = now + timedelta(days=1)
print(tomorrow)
# 2022-07-27

13、獲取當前時間的本周第一天和本周最後一天

import datetime
from datetime import timedelta
# 獲取今天日期:
# 返回datetime格式:
now = datetime.datetime.now()
print(now)
# 2022-07-26 11:58:01.523623
# 返回datetime格式:
now = datetime.datetime.now().date()
print(now)
# 2022-07-26
now = datetime.date.today()
print(now)
# 2022-07-26
# 獲取本周第一天
this_week_start = now - timedelta(days=now.weekday())
print(this_week_start)
# 2022-07-25
# 獲取本周最後一天
this_week_end = now + timedelta(days=6 - now.weekday())
print(this_week_end)
# 2022-07-31

14、獲取當前時間的上周第一天和上周最後一天

import datetime
from datetime import timedelta
# 獲取今天日期:
# 返回datetime格式:
now = datetime.datetime.now()
print(now)
# 2022-07-26 11:58:01.523623
# 返回datetime格式:
now = datetime.datetime.now().date()
print(now)
# 2022-07-26
now = datetime.date.today()
print(now)
# 2022-07-26
# 獲取上周第一天
this_week_start = now - timedelta(days=now.weekday() + 7)
print(this_week_start)
# 2022-07-18
# 獲取上周最後一天
this_week_end = now + timedelta(days=6 - now.weekday() + 1)
print(this_week_end)
# 2022-08-01

15、獲取當前時間的本月第一天和本月最後一天

this_month_start = datetime.datetime(now.year, now.month, 1)
this_month_end = datetime.datetime(now.year, now.month, calendar.monthrange(now.year, now.month)[1])

16、獲取上月第一天和最後一天

last_month_end = this_month_start - timedelta(days=1)
last_month_start = datetime.datetime(last_month_end.year, last_month_end.month, 1)

17、獲取本季第一天和最後一天

month = (now.month - 1) - (now.month - 1) % 3 + 1
this_quarter_start = datetime.datetime(now.year, month, 1)
this_quarter_end = datetime.datetime(now.year, month, calendar.monthrange(now.year, now.month)[1]) 

18、獲取上季第一天和最後一天

ast_quarter_end = this_quarter_start - timedelta(days=1)
last_quarter_start = datetime.datetime(last_quarter_end.year, last_quarter_end.month - 2, 1)

19、獲取本年第一天和最後一天

this_year_start = datetime.datetime(now.year, 1, 1)
this_year_end = datetime.datetime(now.year + 1, 1, 1) - timedelta(days=1)

20、獲取去年第一天和最後一天

last_year_end = this_year_start - timedelta(days=1)
last_year_start = datetime.datetime(last_year_end.year, 1, 1) 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved