我正在编辑一些Python并在datetime模块中遇到这种不一致。 对于我刚才需要的当前日期:
from datetime import date
todaysDate = date.today()
if todaysDate > date( 2020,4,4 ) :
...
但是时间:
from datetime import datetime
from datetime import time
nowTime = datetime.now().time()
if nowTime > time( 17,15,0 ) :
...
在datetime.time对象中没有“now()”方法(或任何名称)的任何理由?这会更清洁:
from datetime import time
nowTime = time.now()
if nowTime > time( 17,15,0 ) :
...
PS:此时时间模块不是一个选项
答案 0 :(得分:1)
我怀疑,但不确定,没有datetime.time.now()
的原因是类型datetime.time
不代表某个时间点 - 而是代表一天中的某个时间。因此,虽然能够在没有获得当前日期的情况下获得当前时间可能有点方便,但这不是必要的操作。
我怀疑GvR不会分享您的评估,即删除.time()
会使代码更“清洁”。我认为它“非常轻微”更清洁,而且你会在time
上复制datetime
上的两个函数,因为有人会想要utcnow()
。而其他人则希望time.now()
采用可选的时区参数。