日期时间模块的语法无效

gdo*_*371 1 python datetime

我正在尝试使用 datetime 模块做一些应该相当简单的事情:

import datetime

timenow = datetime.datetime.now().time()
print timenow

if timenow >= 00:00:00.00000 and <= 00:15:00.00000

    #do some processing here
Run Code Online (Sandbox Code Playgroud)

我已经根据“print timenow”行的结果选择了我的时间格式,但是它在第一个时间变量中的第二个冒号处抛出了一个语法错误。

谁能看到我做错了什么?

谢谢

Tom*_*ton 5

错误的原因是 Python 不知道如何解释00:00:00.00000. 它不是字符串,也不是有效的数字文字(例如5-3.6),也不是变量名、函数名或关键字。所以 Python 就像“你在对我做什么,伙计?!”,然后摔倒了。

你需要对你的 Python 更好。就你的意思给它一些帮助。你可以把这些东西变成字符串"00:00:00.00000",但是 Python 仍然不知道有排序日期时间字符串的特殊规则 - 所以当你开始进行比较时,你最终可能会遇到问题。

更好的解决方案是永远不要担心时间看起来像一个字符串——你关心的是时间有小时、分钟、秒和微秒。特别是,您似乎只关心小时和分钟。

尝试这个:

min_time = datetime.time(0,0)
max_time = datetime.time(0,15)

if min_time <= timenow <= maxtime:
    print "Do stuff!"
Run Code Online (Sandbox Code Playgroud)