Подтвердить что ты не робот

Получите секунды с полуночи в python

Я хочу получить секунды, которые истекли с последней полуночи. Какой самый элегантный способ в python?

4b9b3361

Ответ 1

Лучше сделать один вызов функции, которая возвращает текущую дату/время:

from datetime import datetime

now = datetime.now()
seconds_since_midnight = (now - now.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()

Или делает

datetime.now() - datetime.now()

вернуть нуль timedelta для всех здесь?

Ответ 2

import datetime
now = datetime.datetime.now()
midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
seconds = (now - midnight).seconds

или

import datetime
now = datetime.datetime.now()
midnight = datetime.datetime.combine(now.date(), datetime.time())
seconds = (now - midnight).seconds

Что выбрать - это вопрос вкуса.

Ответ 3

Я бы сделал это так

import datetime
import time

today = datetime.date.today()
seconds_since_midnight = time.time() - time.mktime(today.timetuple())

Ответ 4

Альтернатива:

from datetime import datetime
seconds = (datetime.now() - datetime.today()).seconds