猿问

比较 Datetime 和不可排序的类型

我正在尝试比较来自不同来源的日期时间(因此格式略有不同)。本质上,我通过在每天更新的字典中查找当前值来检查是否已经过了日落以使显示面板变暗。


我已经想出了如何将 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()

任何帮助将非常感激。


BIG阳
浏览 161回答 1
1回答

侃侃无极

您只想使用_herenow,因为它是time.此外,您可以简化条件:_isnight = (_herenow <= _sr or _herenow >= _ss)mymatrix.DisplayBright(_isnight)顺便说一句:用下划线作为变量名的前缀并没有错,但这很奇怪。
随时随地看视频慕课网APP

相关分类

Python
我要回答