首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较现在时间和选择的时间

问如何比较现在时间和选择的时间
EN

Stack Overflow用户
提问于 2018-07-17 07:21:06
回答 3查看 238关注 0票数 1

我正在使用raspberry pi (python),我想在一天中的特定时间开始阅读一个文件,但是每次我试图比较实时和我所需的时间时,我都没有得到任何东西,有时我得到了什么。typeerror:c没有将datetime.time与str进行比较

代码语言:javascript
复制
import datetime

import time

timee = (" %s" %time.strftime("%H:%M:%S"))


t = datetime.time(14, 30, 00)

t1 = datetime.time(15, 30, 00)

if (timee >= t and timee <= t1):
    print ('this is right')
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-17 07:30:10

您可以只使用datetime模块。

Ex:

代码语言:javascript
复制
import datetime

t = datetime.time(14, 30, 00)
t1 = datetime.time(15, 30, 00)

if (t <= datetime.datetime.time(datetime.datetime.now()) <= t1):   #Check if current time is between t and t1
    print ('this is right')
票数 1
EN

Stack Overflow用户

发布于 2018-07-17 07:27:02

问题在于您正在使用的strftime方法。它返回时间字符串,而不是datetime.time对象。看看这个answer来获取当前的时间。复制答案中的内容:datetime.datetime.now().time()

票数 0
EN

Stack Overflow用户

发布于 2018-07-17 07:38:40

一种可能的解决方案(另一种是使用datetime.now()函数获取当前时间):

代码语言:javascript
复制
import datetime
import time

# timee = ("%s" % time.strftime("%H:%M:%S"))
timee = time.strftime("%H:%M:%S") # no need to format it as string here

t = datetime.time(14, 30, 00)
t1 = datetime.time(15, 30, 00)

if t <= datetime.time(*[int(i) for i in timee.split(':')]) <= t1:
    print ('this is right')

如果时间在14:30至15:30之间,则打印this is right (包括)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51375447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档