Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较Datetime和无序类型_Python_Python 3.x - Fatal编程技术网

Python 比较Datetime和无序类型

Python 比较Datetime和无序类型,python,python-3.x,Python,Python 3.x,我试图比较不同来源的日期时间(因此格式略有不同)。本质上,我是通过在每日更新的字典中查找当前值来检查是否已经过了日落,从而使显示面板变暗 我已经找到了如何将ISO格式降到时间元素(\u ss以下)的方法,但实际上很难获得Datetime.Datetime值(\u herenow以下)正确: 格式: _ss 05:50:06 _herenow 08:35:21.992656 我的代码: def is_day_time(): _now = datetime.datetime.

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

我已经找到了如何将ISO格式降到时间元素(
\u ss
以下)的方法,但实际上很难获得
Datetime.Datetime
值(
\u 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)
def是_day_time():
_now=datetime.datetime.now()
_ss=本地天气。get('mylocal\u ss')
_sr=本地天气。get('mylocal_sr'))
_ss=_ss.time()
_sr=_sr.time()
_herenow=\u now.time()

如果_herenow>=\u ss或_now您只想使用
\u herenow
,因为这是
时间

此外,您还可以简化条件:

_isnight = (_herenow <= _sr or _herenow >= _ss)
mymatrix.DisplayBright(_isnight)
\u isnight=(\u herenow=\u ss)
mymatrix.DisplayBright(_isnight)

顺便说一句:在变量名前面加下划线并没有错,但这很奇怪。

据我所知,在变量前面加下划线意味着你不想要它们touched@alec_a因为它们在一个函数中,所以不清楚谁会碰它们,或者怎么碰它们…@alec_a是的,在类范围内。但是,这是函数作用域,因此无论如何都不能触及这些变量。不,错了,我把
运算符误认为是
。这毕竟是不等价的。@deceze我认为总体来说这更好。
_isnight = (_herenow <= _sr or _herenow >= _ss)
mymatrix.DisplayBright(_isnight)