python计算当前时间的前(后)一分钟,前(后)一小时,前(后

2021-10-19  本文已影响0人  yichen_china

计算当前时间

import datetime
datetime.datetime.now()
# 2019-06-30 10:51:14.089271
# 格式化时间
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 10:52:05

多加(减)一天

(datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-07-01 10:54:44
(datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-29 10:55:44

多加(减)一小时

(datetime.datetime.now()+datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 11:56:46
(datetime.datetime.now()-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 09:58:02

多加(减)一分钟

(datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")
(datetime.datetime.now()-datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")

字符串格式时间加减

strTime = '2019-07-11 11:03'  # 给定一个时间,此是个字符串
startTime = datetime.datetime.strptime(strTime, "%Y-%m-%d %H:%M")  # 把strTime转化为时间格式,后面的秒位自动补位的
print startTime
print startTime.strftime("%Y-%m-%d %H:%M")  # 格式化输出,保持和给定格式一致
# startTime时间加 一分钟
startTime2 = (startTime + datetime.timedelta(minutes=2)).strftime("%Y-%m-%d %H:%M")
print startTime2

俩时间相差秒数

不同天的时间差

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")

来获取时间差中的秒数。注意,seconds获得的秒只是时间差中的小时、分钟和秒部分,没有包含天数差,total_seconds包含天数差

所以total_seconds两种情况都是可以用的

total_seconds = (time_2_struct - time_1_struct).total_seconds()
print('不同天的秒数为:')
print(int(total_seconds))

min_sub = total_seconds / 60
print('不同天的分钟数为:')
print(int(min_sub))
时间加减相差天数

 (datetime.datetime(2010,03,01) - datetime.datetime(2010,02,01)).days

28

当天所在当月的几号

datetime.datetime.now().day

当前月份

datetime.datetime.now().mouth

当前年份

datetime.datetime.now().year

print ((datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M"))

print ((datetime.datetime.now()-datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M"))

print ((datetime.datetime.now()-datetime.timedelta(seconds=1)).strftime("%Y-%m-%d %H:%M"))

now = datetime.datetime.now()

3天前

three_days_ago = now + datetime.timedelta(-3)

3天前的前12分钟0秒

three_days_ago = now + datetime.timedelta(-3,-12,0)

这个datetime模块中往前往后推算时间都行

上一篇 下一篇

猜你喜欢

热点阅读