Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > Високосная секунда


Автор: CDEater 19.10.2008, 14:09
В этом году целую секунду время будет выглядеть как 2008 Dec 31 23:59:60

Уже высказывалась мысль, а почему бы не убрать эти добавочные секунды и не заменить коррекцию на добавочные минуты (добавляемые в 60 раз реже).  Получится, что за время своей жизни человек с такой неприятностью будет сталкиваться максимум 1 раз.  Для чего нужна коррекция времени по астрономическим земным оборотам?  Для сельского хозяйства?  Зачем им секундная точность?  Там и плюс-минус час сойдёт.

Существует ли разумная причина, по которой время нужно привязывать к оборотам Земли с точностью до одной секунды?

Автор: bars80080 19.10.2008, 14:30
меньше об этом думай. я вообще о такой вещи не знал

где тебе эта секунда мешает?

Автор: Mayk 19.10.2008, 15:01
Цитата(bars80080 @  19.10.2008,  18:30 Найти цитируемый пост)
меньше об этом думай. я вообще о такой вещи не знал

где тебе эта секунда мешает? 

В создании класса DateTime как минимум  smile  smile 
Вообще классы для созданния точных датовремен это та ещё зубодробилка

Добавлено через 2 минуты и 11 секунд
Цитата(bars80080 @  19.10.2008,  18:30 Найти цитируемый пост)

где тебе эта секунда мешает?

а ещё новый год задержится. нехорошо

Автор: Serkys 19.10.2008, 15:10
Цитата(Mayk @  19.10.2008,  16:01 Найти цитируемый пост)
В создании класса DateTime как минимум

Действительно. Не удивлюсь, если в эту секунду упадёт значительное количество скриптов smile

Автор: SelenIT 19.10.2008, 15:39
Имхо, ничего страшного не произойдет. Для скриптов, действительно, новый год наступит на секунду раньше факта. Но первая же синхронизация с глобальными часами решит проблему.

Цитата(CDEater @  19.10.2008,  14:09 Найти цитируемый пост)
Для чего нужна коррекция времени по астрономическим земным оборотам?

Для навигационных систем хотя бы, наверное...

Автор: CDEater 19.10.2008, 17:22
Как именно это мешает навигационным системам?

Автор: Mayk 19.10.2008, 17:31
Цитата(SelenIT @  19.10.2008,  19:39 Найти цитируемый пост)
Имхо, ничего страшного не произойдет. Для скриптов, действительно, новый год наступит на секунду раньше факта. Но первая же синхронизация с глобальными часами решит проблему.

для рубивских навряд ли:
Код

    def test_parse_leap_second
      t = Time.utc(1998,12,31,23,59,59)
      assert_equal(t, Time.parse("Thu Dec 31 23:59:59 UTC 1998"))
      assert_equal(t, Time.parse("Fri Dec 31 23:59:59 -0000 1998"));t.localtime
      assert_equal(t, Time.parse("Fri Jan  1 08:59:59 +0900 1999"))
      assert_equal(t, Time.parse("Fri Jan  1 00:59:59 +0100 1999"))
      assert_equal(t, Time.parse("Fri Dec 31 23:59:59 +0000 1998"))
      assert_equal(t, Time.parse("Fri Dec 31 22:59:59 -0100 1998"));t.utc
      t += 1
      assert_equal(t, Time.parse("Thu Dec 31 23:59:60 UTC 1998"))
      assert_equal(t, Time.parse("Fri Dec 31 23:59:60 -0000 1998"));t.localtime
      assert_equal(t, Time.parse("Fri Jan  1 08:59:60 +0900 1999"))
      assert_equal(t, Time.parse("Fri Jan  1 00:59:60 +0100 1999"))
      assert_equal(t, Time.parse("Fri Dec 31 23:59:60 +0000 1998"))
      assert_equal(t, Time.parse("Fri Dec 31 22:59:60 -0100 1998"));t.utc
      t += 1 if t.sec == 60
      assert_equal(t, Time.parse("Thu Jan  1 00:00:00 UTC 1999"))
      assert_equal(t, Time.parse("Fri Jan  1 00:00:00 -0000 1999"));t.localtime
      assert_equal(t, Time.parse("Fri Jan  1 09:00:00 +0900 1999"))
      assert_equal(t, Time.parse("Fri Jan  1 01:00:00 +0100 1999"))
      assert_equal(t, Time.parse("Fri Jan  1 00:00:00 +0000 1999"))
      assert_equal(t, Time.parse("Fri Dec 31 23:00:00 -0100 1998"))
    end

а вот велосипедам может стать плохо.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)