Сравнение времени Python

В зависимости от вашей конкретной цели существует способ достижения полезности родительского селектора без использования одного (даже если бы он существовал) ...

Скажем, у нас есть:

<div>
  <ul>
    <li><a>Pants</a></li>
    <li><a>Socks</a></li>
    <ul>
      <li><a>White socks</a></li>
      <li><a>Blue socks</a></li>
    </ul>
  </ul>
</div>

Что мы можем сделать, чтобы блок Socks (включая цвета носка) выделялся визуально с использованием интервала?

Что было бы неплохо, но не существует:

ul li ul:parent {
  margin-top: 15px;
  margin-bottom: 15px;
}

Что существует:

li > a {
  margin-top: 15px;
  display: block;
}
li > a:only-child {
  margin-top: 0px;
}

Это устанавливает, что все привязные ссылки имеют верхний край 15px и сбрасывают его обратно на 0 для тех, у которых нет элементов UL (или других тегов) внутри LI.

85
задан Steve Jay 2 December 2009 в 08:27
поделиться

5 ответов

Вы не можете сравнивать конкретный момент времени (например, «прямо сейчас») с нефиксированным повторяющимся событием (8 утра происходит каждый день).

Вы можете проверить, было ли сейчас до или после сегодня 8:00:

>>> import datetime
>>> now = datetime.datetime.now()
>>> today8am = now.replace(hour=8, minute=0, second=0, microsecond=0)
>>> now < today8am
True
>>> now == today8am
False
>>> now > today8am
False
108
ответ дан 24 November 2019 в 08:16
поделиться

Удивленный я не видел этот лайнер здесь:

datetime.datetime.now().hour == 8
0
ответ дан 24 November 2019 в 08:16
поделиться

Вы можете использовать метод time () объектов datetime , чтобы получить время дня, которое вы можете использовать для сравнения, не принимая дату во внимание:

>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True
59
ответ дан 24 November 2019 в 08:16
поделиться

Вы можете сравнивать объекты datetime.datetime напрямую

Например:

>>> a
datetime.datetime(2009, 12, 2, 10, 24, 34, 198130)
>>> b
datetime.datetime(2009, 12, 2, 10, 24, 36, 910128)
>>> a < b
True
>>> a > b
False
>>> a == a
True
>>> b == b
True
>>> 
9
ответ дан 24 November 2019 в 08:16
поделиться

datetime имеет возможность сравнения

>>> import datetime
>>> import time
>>> a =  datetime.datetime.now()
>>> time.sleep(2.0)
>>> b =  datetime.datetime.now()
>>> print a < b
True
>>> print a == b
False
1
ответ дан 24 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: