python datatime模块的使用

本文介绍了Python中datetime模块的strptime和strftime函数,用于时间字符串与datetime对象之间的转换。通过实例展示了如何格式化时间、计算时间差以及获取当前分钟和下一分钟的时间范围。此外,还涵盖了timedelta的使用,如加减天数、小时数和分钟数。
摘要由CSDN通过智能技术生成

strftime和strptime 的区别

  • datetime.datetime.strptime(字符串,时间格式):给定一个时间字符串和时间格式,返回一个datetime 时间对象

  • datetime.datetime.strftime(时间对象,输出格式):给定一个时间对象和输出格式,返回一个时间字符串

时间的处理

import datetime
>>> print datetime.datetime.now()
2017-07-15 15:01:24.619000

# 格式化时间
>>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2017-07-15 15:01:35
>>> print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
2017-07-15 15:01
>>> print datetime.datetime.now().strftime("%Y%m%d")
20170715

#时间的计算:datetime.timedelta模块
#多加一天
>>> print (datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y%m-%d %H:%M:%S")
2017-07-16 15:12:42
#多加一小时
>>> print (datetime.datetime.now()+datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")	
2017-07-15 16:10:43
#多加一分钟
>>> print (datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")		
2017-07-15 15:12:56

#计算相差天数
>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 - d2).days
47

#计算相差秒数
>>>import datetime
>>>starttime = datetime.datetime.now()
>>>endtime = datetime.datetime.now()
>>>print (endtime - starttime).seconds

求当前分钟及下一分钟

from datatime import datetime,date,timedelta

## 这一分钟
t = datetime.strptime(str(datetime.now()).split('.')[0], '%Y-%m-%d %H:%M:%S')
t = datetime.strptime(str('2021-08-07 23:59:00').split('.')[0], '%Y-%m-%d %H:%M:%S')
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
start_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
end_tim= datetime.strptime(datetime.strftime(start_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=1)

##上一分钟
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
end_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
start_time = datetime.strptime(datetime.strftime(end_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=-1)

## 上一分钟到59秒
t = datetime.strptime(datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
t_date = date(*map(int, date.strftime(t, "%Y-%m-%d").split('-')))
end_time = datetime.strptime(datetime.strftime(t, '%Y-%m-%d %H:%M') + ':00','%Y-%m-%d %H:%M:%S')
start_time = datetime.strptime(datetime.strftime(end_time,'%Y-%m-%d %H:%M:%S'),'%Y-%m-%d %H:%M:%S')+timedelta(minutes=-1)
end_time2 = datetime.strptime(datetime.strftime(start_time, '%Y-%m-%d %H:%M') + ":59", '%Y-%m-%d %H:%M:%S')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值