Секунды прыжка обслуживаются Календарем?

секунды прыжка обслуженный классом GregorianCalendar?

В противном случае какая-либо сторонняя библиотека обслуживают его?

16
nl ja de
Это было больше любопытства, но это могло иметь последствия для строго ограниченных во времени операций как торговля. Секунды прыжка "официальны", таким образом, они могли быть добавлены к данным о часовом поясе.
добавлено автор Bohemian, источник
Какое реальное применение вы видите для требования секунд прыжка? Кроме того, wouldn' t это быть действительно жестким составлять их из-за их нечастого дополнения?
добавлено автор Makoto, источник
Это показывает способ осуществить его: joda-time.sourceforge.net/faq.html#leapseconds
добавлено автор Azodious, источник

2 ответы

  1. Leap seconds are not catered for by GregorianCalendar (a view of the source code at Oracle shows this - explicit assumption of 1 minute = 60 seconds always is given there). And furthermore: Oracle has now officially denied leap second support - see Bug-ID 4272347.
  2. In Java there is no standard 3rd party library supporting leap seconds - not even joda-time. Only specialized software like this does that.
  3. Note that many libraries do talk about leap seconds although not supporting, for example java.util.Date (see Dorofeevs answer). Also JSR 310 talks a lot, but does not support this feature. Officially JSR 310 gives support to UTC-SLS which does not count leap seconds and only describes smearing rubber seconds around a leap second event. Indeed JSR 310 is very confusing about if it supports UNIX time or UTC-SLS (see next point). And since leap second information (github/threeten/issues/197) has been removed from JSR 310 code base it is absolutely impossible to implement true UTC leap seconds within the scope of JSR 310. In best case you might expect a coming external module (Threeten-Extra) as supplement for JSR 310 which will give rudimentary support at best (it is rather a translation between UNIX time and TAI time scale, not more and uses in my opinion a fundamentally wrong domain model).
  4. System.currentTimeMillis() officially relates to OS timer. And since all OS I know including Microsoft, Linux and Apple are only based on UNIX specification this java system timer does not count leap seconds, only the normal milliseconds since 1970-01-01T00:00:00.000Z
  5. Because of all these facts I have decided to set up my own date and time java library named Time4J which fully supports leap seconds and is available as v1.0 with LGPLv2.1-licence. A dzone-article demonstrates how this support looks like with version v4.2.
14
добавлено
+1 для полного первого ответа. Добро пожаловать в stackoverflow и удачу с вашим проектом!
добавлено автор Bohemian, источник
@mirabilos Пожалуйста schö n, о редком докторе, я действительно изящен для любого вида предложений, проблем, вопросов, тяну запрос о лучшей документации и так далее. У Time4J есть столько особенностей, что не всегда легко держать доктора на том же самом уровне, но я стараюсь изо всех сил.
добавлено автор Meno Hochschild, источник
Danke! Я использую это в нашем проекте теперь, работаю как очарование (т.е. правильно признает, что, например, 20150701_015960 был, и 20150701_025960 не был, действительная дата в Европе/Берлине). Документация действительно редка, все же.
добавлено автор mirabilos, источник

java.util. API даты говорит это

"..., хотя класс Даты предназначается, чтобы отразить всемирное координированное время (UTC), это может не сделать так точно, в зависимости от серверной среды виртуальной машины Java.... Большинство компьютерных часов не достаточно точно, чтобы быть в состоянии отразить прыжок второе различие".

Wiki говорит

"Поскольку скорость вращения Земли варьируется в ответ на климатические и геологические события, секунды прыжка UTC нерегулярно располагаются и непредсказуемы. Вставка каждого второго прыжка UTC обычно решается приблизительно шесть месяцев заранее Международным Земным Обслуживанием Вращения и Ссылки Систем (МНОЖИТЕЛИ)"

то есть, никакой класс не может знать о будущих решениях МНОЖИТЕЛЕЙ.

6
добавлено
Комментарий Javadoc, по моему скромному мнению, который отклоняет ответственность далеко от плохо осуществленного класса. Если я добавляю секунду незадолго до прыжка, второго, время должно продвинуть 2 секунды, но меня don' t думают, что это делает. Кроме того, арифметика дат не имеет никакого отношения к текущему времени.
добавлено автор Bohemian, источник
+1 я думал/принимал, что секунды прыжка были предсказуемы. Хороший ответ
добавлено автор Bohemian, источник
Посмотрите мое обновление о том, что говорит Wiki
добавлено автор Evgeniy Dorofeev, источник
@Bohemian я соглашаюсь полный вас. И Oracle знает также об этом плохом внедрении, я думаю that' s причина, почему на Яве 8 у нас будет новый API Времени/Даты, который поддерживает также секунды прыжка (jcp.org/aboutJava/communityprocess/edr/jsr310/guide-0.7.htm‌ ​ l)
добавлено автор Walery Strauch, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async