我有一个使用strptime("%I:%M %p")将字符串转换为DateTime对象的方法,我只想要24小时和分钟,没有任何日期,因为我会得到这个时间和另一个时间之间的差异.问题是,当我try 计算total_seconds()的差值时,得到的差值为负值,因为strptime中的日期是"1900-01-01".有没有人有办法解决这个问题?

我的代码:

fTime = datetime.strptime(time, "%I:%M %p")
if 0 < (fTime - datetime.now()).total_seconds() <= 3600:
   return True

推荐答案

您可以采用两种方法之一:从now中go 掉日期,或者将当前日期添加到fTime.第一种方法没有什么意义,因为你无论如何都不能比较time个这样的对象.

要将fTime转换为正确的datetime,datetime.combinedate.today():

fDate = datetime.combine(date.today(), fTime.time())
return 0 < (fDate - datetime.now()).total_seconds() <= 3600

或者,您可以将日期部分设置为replace:

today = date.today()
fDate = fTime.replace(year=today.year, month=today.month, day=today.day)

就我个人而言,我会 Select combine,因为它的代码不那么笨拙.

Python相关问答推荐

对Numpy函数进行载体化

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

什么相当于pytorch中的numpy累积ufunc

PMMLPipeline._ fit()需要2到3个位置参数,但给出了4个位置参数

在含噪声的3D点网格中识别4连通点模式

删除marplotlib条形图上的底边

让函数调用方程

Geopandas未返回正确的缓冲区(单位:米)

Maya Python脚本将纹理应用于所有对象,而不是选定对象

为什么我的sundaram筛这么低效

无法在Spyder上的Pandas中将本地CSV转换为数据帧

统计numpy. ndarray中的项目列表出现次数的最快方法

使用类型提示进行类型转换

mdates定位器在图表中显示不存在的时间间隔

我可以不带视频系统的pygame,只用于游戏手柄输入吗?''

为什么dict. items()可以快速查找?

在matplotlib中重叠极 map 以创建径向龙卷风图

有没有一种方法可以在朗肯代理中集成向量嵌入

如何从一个维基页面中抓取和存储多个表格?

如果列包含空值,则PANAS查询不起作用