我正在尝试比较来自不同来源的日期时间(因此格式略有不同)。本质上,我通过在每天更新的字典中查找当前值来检查是否已经过了日落以使显示面板变暗。我已经想出了如何将 ISO 格式降低到时间元素(_ss下),但努力实际获得正确的Datetime.datetime值(_herenow下):格式:_ss 05:50:06_herenow 08:35:21.992656我的代码:def is_day_time(): _now = datetime.datetime.now() _ss = local_weather.get('mylocal_ss') _sr = local_weather.get('mylocal_sr') _ss = _ss.time() _sr = _sr.time() _herenow = _now.time() if _herenow >= _ss or _now <= _sr: _isnight = 1 mymatrix.DisplayBright(_isnight) else: _isnight = 0 mymatrix.DisplayBright(_isnight)我得到的错误:if _herenow >= _ss or _now <= _sr:TypeError: unorderable types: datetime.datetime() <= datetime.time()任何帮助将非常感激。
1 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
您只想使用_herenow,因为它是time.
此外,您可以简化条件:
_isnight = (_herenow <= _sr or _herenow >= _ss)
mymatrix.DisplayBright(_isnight)
顺便说一句:用下划线作为变量名的前缀并没有错,但这很奇怪。
添加回答
举报
0/150
提交
取消