и посмотреть медиа
Código en una sirena - Codificación Python
и посмотреть медиа
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
Canal sobre programación en Python y otros idiomas. Explicaciones y códigos simples.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Recurso para aquellos interesados en la programación. Enfóquese en Python, pero también cubre otros temas.
Знаете ли вы, что в UTC реально существует секунда `23:59:60` – и Python умеет ее парсить? Обычно в минуте 60 секунд: от 00 до 59. Но иногда у UTC появляется дополнительная секунда – 23:59:60. Это leap second, или високосная секунда. Эта секунда здесь потому, что Земля не вращается идеально ровно. Атомные часы идут стабильно, а вот длина суток чуть плавает. Чтобы UTC не уползало от астрономического времени UT1, в UTC иногда вставляют дополнительную секунду. И Python про leap second знает: from time import strptime t = strptime("2016-12-31 23:59:60", "%Y-%m-%d %H:%M:%S") print(t.tm_sec) # 60 strptime() спокойно принимает 60 в секундах, потому что стандарт времени это допускает. В POSIX tm_sec вообще определен как диапазон 0-60. Последняя leap second была 31 декабря 2016 года – конец суток тогда выглядел так: 23:59:58 23:59:59 23:59:60 00:00:00 То есть в той минуте прошла 61 секунда вместо обычных 60. Но вот что еще интересно: большинство Unix-систем никогда не покажут вам 23:59:60. Причина в POSIX time. Тип time_t хранит количество секунд с 1970 года – но leap seconds в этот счетчик не входят. Для POSIX-времени такой секунды просто не существует. import time print(time.time()) print(time.gmtime()) #1779213515.548919 #time.struct_time(tm_year=2026, tm_mon=5, tm_mday=19, tm_hour=17, tm_min=58, tm_sec=35, tm_wday=1, tm_yday=139, tm_isdst=0) Из-за этого time.time() никогда не вернет timestamp для 23:59:60, а gmtime() практически никогда не покажет tm_sec == 60, даже если leap second реально была. Операционные системы и NTP-серверы обходят эту проблему разными способами. Самый простой вариант – прямо вставить дополнительную секунду. Другой вариант – вставить лишнюю секунду не сразу, а заставить часы идти чуть медленнее или чуть быстрее в течение времени, чтобы избежать резкого скачка и одновременно сгладить разрыв. Google Leap Smear например распределяет эту секунду на 24 часа. Новых leap seconds не было с 2016 года. А в 2022 Генеральная конференция по мерам и весам (CGPM) официально решила отказаться от leap seconds к 2035 году – UTC перестанет корректироваться дополнительными секундами. А вот на замену пока ничего не утвердили, но как вариант предлагают раз в 100 лет делать leap minute. Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!