Что делает python time
и datetime
модуль возвращается на второй прыжок?Что возвращает python на второй прыжок
Что я получу, когда мы на 23: 59: 60.5 если я позвоню:
time.time()
datetime.datetime.utcnow()
datetime.datetime.now(pytz.utc)
Кроме того, разница между PY2 .7 и py3?
Почему это сбивает с толку (по крайней мере для меня):
Из datetime docs я вижу:
В отличие от модуля времени, даты и времени модуль не поддерживает високосных секунд.
На time docs я вижу, есть «поддержка» високосные секунды при разборе с strptime
. Но нет комментариев о time.time()
.
Я вижу, что с помощью time
я получаю:
>>> time.mktime(time.strptime('2016-06-30T23:59:59', "%Y-%m-%dT%H:%M:%S"))
1467327599.0
>>> time.mktime(time.strptime('2016-06-30T23:59:60', "%Y-%m-%dT%H:%M:%S"))
1467327600.0
>>> time.mktime(time.strptime('2016-07-01T00:00:00', "%Y-%m-%dT%H:%M:%S"))
1467327600.0
И datetime
просто взрывает:
>>> dt.datetime.strptime('2016-06-30T23:59:60', "%Y-%m-%dT%H:%M:%S")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: second must be in 0..59
Тогда что я получу в то точное время (в середине второго прыжка) ?
Я читал о временах резины, замедлениях часов, повторяющихся секундах и всех сумасшедших идеях, но что я должен ожидать на python?
Примечание: В случае, если вы задаетесь вопросом, не есть ли у меня ничего лучше, чтобы заботиться об этом, приближается второй прыжок !!!!
http://stackoverflow.com/questions/21027639/python-datetime-not-accounting-for-leap-second-properly –
Я бы не ожидал, что ничего не произойдет. Ваши * компьютерные часы * не будут отмечать второй прыжок; он будет продолжаться до следующей синхронизации часов ntp, после чего ваши компьютерные часы снова будут корректными. –
@PadraicCunningham: все сообщения datetime о том, как * представить * секунду прыжка с datetime, чего он не может. Речь идет о том, что произойдет, когда вы попытаетесь обработать время * при точном прыжке в секунду *. Который, на текущих компьютерах, означает «ничего», поскольку компьютерные часы не будут отмечать второй прыжок, поскольку нет возможности рассказать своим компьютерным часам раньше времени, чтобы их включить. –