微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python datetime模块 得到 当前时间 前后一分钟一天 日期时间

目录

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,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,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) - timedelta(days=1)

20、获取去年第一天和最后一天

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐