Python 比较Datetime和无序类型
我试图比较不同来源的日期时间(因此格式略有不同)。本质上,我是通过在每日更新的字典中查找当前值来检查是否已经过了日落,从而使显示面板变暗 我已经找到了如何将ISO格式降到时间元素(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.
\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)