Вращение Земли не идеально равномерно, а всемирное координированное время, основа практически всего гражданского времяисчисления, определяется по очень точному атомному эталону, а не по реальному, слегка неравномерному вращению планеты. Чтобы UTC со временем не расходилось с реальным вращением Земли, иногда добавляется дополнительная секунда, високосная секунда. Именно поэтому UTC и строгая атомная шкала времени, на которой оно построено, очень постепенно расходятся, а затем периодически снова выравниваются.
Почти для любого приложения, работающего с часовыми поясами или временными метками, это скорее любопытный факт, чем практическая проблема. Високосная секунда представляет собой крайне редкое событие, которое планируется заранее, и подавляющее большинство программ, включая практически всё, что построено на стандартных системных часах операционной системы, обрабатывает её прозрачно на уровне системы задолго до того, как код вашего приложения увидит временную метку. Крайне маловероятно, что вы напишете код, который поведёт себя иначе из-за високосной секунды, если только вы не работаете в области, где специально требуется точность до долей секунды на длинных промежутках времени, например в некоторых научных, финансовых или спутниковых навигационных системах, а это в целом действительно узкая часть программного обеспечения.
Високосные секунды иногда всё же становятся реальной, хотя обычно незначительной, инженерной проблемой в системах, выполняющих очень точные расчёты длительности через границу високосной секунды, где наивная арифметика времени может ошибиться ровно на одну секунду, если не учитывает эту поправку. Большинство приложений общего назначения, то есть всё, что считает длительность в целых секундах или более крупных единицах для обычных бизнес-задач, никогда этого не заметят, поскольку расхождение в одну секунду находится в пределах допустимого практически для любого повседневного сценария.
Об этом стоит упомянуть в основном потому, что это дополняет полную картину того, как на самом деле устроено гражданское время, наряду с практически более значимыми темами переходов на летнее время и изменений правил часовых поясов, которые рассматриваются в других статьях. Високосные секунды являются реальной и интересной особенностью того, как поддерживается UTC, но для подавляющего большинства приложений не нужно строить вокруг них защитную логику, включая практически всё, что связано с местоположением, планированием или обработкой временных меток с помощью нашего определения часового пояса. Если ваша конкретная область действительно требует точности до долей секунды на длительных промежутках, это специализированная задача, которую стоит решать явно и отдельно, далеко за рамками типичного программного обеспечения, учитывающего местоположение.
Адрес в хорошо картографированном центре города почти ничего не говорит о том, как ваша система справится с сельским маршрутом, спорной границей или запросом вблизи полюсов. Тестируйте сложные случаи намеренно.
Не каждый набор данных с общедоступными на вид сведениями о местоположении можно законно использовать в платном продукте. Реальную границу часто задают условия лицензии, а не техническая доступность.