bg

Мой аккаунт


Забыли пароль? Напомнить


Зарегистрироваться
bg
bg
bg
bg

Поиск по сайту


bg
[#news]
[#main] [#journal]

Уникальная дата

АвторСообщение
Nomand

Nomand


Статус: Пользователь
Возраст: 36
Город: Другой
Дата регистрации: 25 фев 2007
Последнее посещение: 8 янв 2011 в 18:48
Тем: 9
Сообщений: 88
Репутация: 11
Спасибо сказали раз: 31

Написать личное сообщение
10 фев 2009 в 22:54
Всем привет! Думаю многие из вас знают в каком формате представляется дата в памяти компьютера, если нет, то тогда расскажу.

Итак, отсчет ведется с 1го января 00:00 1970 года. откуда взялась это число - не важно. Важно то, как образуются последующие даты. В памяти хранится число миллисекунд, которые прибавляются к этой точке отсчета.

и вот, впереди у нас уникальная дата, а именно 1234567890000 миллисекунда начиная с 1970 года. если быть точнее, то это случится в ночь с 13 на 14 февраля 2009 года (Sat Feb 14 01:31:30 EET 2009), так что всех с наступающим праздником!

Чтобы осознать насколько этот праздник уникален могу сказать что нечто похожее было в 1973 году, а в следующий раз будет только в 2361 году!

Спасибо сказали: Black, coffee

Black

Black


Статус: Пользователь
Возраст: 29
Город: Баку
Дата регистрации: 18 окт 2008
Последнее посещение: 24 мар 2016 в 7:35
Тем: 111
Сообщений: 1907
Репутация: 61
Спасибо сказали раз: 468

Написать личное сообщение
11 фев 2009 в 6:17
И тебя с праздником Откуда такая инфа?
УмНик

УмНик


Статус: Пользователь
Возраст: 51
Город: Краснодар
Дата регистрации: 11 апр 2005
Последнее посещение: 23 авг 2019 в 9:51
Тем: 100
Сообщений: 32705
Репутация: 803
Спасибо сказали раз: 75077

Написать личное сообщение
11 фев 2009 в 6:43
Познавательно, но откуда информация? Хочется удостовериться, что не байка.
el_inteligente

el_inteligente


Статус: Пользователь
Возраст: не указан
Город: Ижевск
Дата регистрации: 30 янв 2009
Последнее посещение: 19 июл 2009 в 19:43
Тем: 0
Сообщений: 3
Репутация: 0
Спасибо сказали раз: 1

Написать личное сообщение
11 фев 2009 в 6:58
кажется всё сходится 1234567890000 = 39,121095710700433493041295916039 лет (1970 + 39 = 2009)

правда это совсем уж дурацкий повод)
coffee

coffee


Статус: Пользователь
Возраст: 34
Город: Другой
Дата регистрации: 9 янв 2009
Последнее посещение: 9 апр 2010 в 20:22
Тем: 0
Сообщений: 15
Репутация: 1
Спасибо сказали раз: 1

Написать личное сообщение
11 фев 2009 в 8:13
Цитата(el_inteligente @ 11.2.2009, 8:58) [snapback]56451[/snapback]
кажется всё сходится 1234567890000 = 39,121095710700433493041295916039 лет (1970 + 39 = 2009)

правда это совсем уж дурацкий повод)


Для многих программеров не дурацкий
Coop

Coop


Статус: Пользователь
Возраст: не указан
Город: Санкт-Петербург
Дата регистрации: 10 авг 2008
Последнее посещение: 7 мар 2013 в 16:48
Тем: 1
Сообщений: 72
Репутация: 0
Спасибо сказали раз: 4

Написать личное сообщение
11 фев 2009 в 17:27
Не знаю как в винде, но в Unix системах по московскому времени это произойдет в субботу 14-го, в 2:31:30
Nomand

Nomand


Статус: Пользователь
Возраст: 36
Город: Другой
Дата регистрации: 25 фев 2007
Последнее посещение: 8 янв 2011 в 18:48
Тем: 9
Сообщений: 88
Репутация: 11
Спасибо сказали раз: 31

Написать личное сообщение
11 фев 2009 в 17:48
Цитата(УмНик @ 11.2.2009, 8:43) [snapback]56450[/snapback]
Познавательно, но откуда информация? Хочется удостовериться, что не байка.


Ну..... Услышал где-то краем уха, вот и решил проверить.
Код
import java.util.Date;

public class Test {
    public static void main(String[] args) {
        System.out.println("" + new Date(1234567890000L));
    }
}


Это код на Java, при запуске выдает Sat Feb 14 01:31:30 EET 2009

Для тех, у кого не лады с программированием, но очень хочется приобщится к этой дате вставьте в строку браузера следующий JavaScript и нажмите Enter (предварительно удалив пробел между Java и Script)
Код
java script:alert(new Date(1234567890000));


Правда слышал что так дата представляется только в Unix системах. Кому не лень проверьте на C# или С++
УмНик

УмНик


Статус: Пользователь
Возраст: 51
Город: Краснодар
Дата регистрации: 11 апр 2005
Последнее посещение: 23 авг 2019 в 9:51
Тем: 100
Сообщений: 32705
Репутация: 803
Спасибо сказали раз: 75077

Написать личное сообщение
12 фев 2009 в 6:37
Цитата(Coop @ 11.2.2009, 20:27) [snapback]56494[/snapback]
Не знаю как в винде, но в Unix системах по московскому времени это произойдет в субботу 14-го, в 2:31:30

При чем тут Unix, или операционная система вообще? Дата то хранится в BIOS-е.
Coop

Coop


Статус: Пользователь
Возраст: не указан
Город: Санкт-Петербург
Дата регистрации: 10 авг 2008
Последнее посещение: 7 мар 2013 в 16:48
Тем: 1
Сообщений: 72
Репутация: 0
Спасибо сказали раз: 4

Написать личное сообщение
13 фев 2009 в 16:28
Цитата(УмНик @ 12.2.2009, 9:37) [snapback]56522[/snapback]
Цитата(Coop @ 11.2.2009, 20:27) [snapback]56494[/snapback]
Не знаю как в винде, но в Unix системах по московскому времени это произойдет в субботу 14-го, в 2:31:30

При чем тут Unix, или операционная система вообще? Дата то хранится в BIOS-е.

13 февраля 2009 года в 23:31:30 по Гринвичу(14-го в 2:31:30 по московскому времени) UNIX-время во всех системах, работающих в данном стандарте, достигнет отметки 1 234 567 890 секунд. Помимо того, что на серверах выстраивается такая комбинация цифр, так эта дата еще и приходится на пятницу 13-е, говорят многие суеверные администраторы.

Unix-время представляет собой способ кодирования времени, принятый в UNIX и других POSIX-совместимых операционных системах. Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют «эрой UNIX».

Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд повторяются.

Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобочитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т.п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Чтобы узнать текущее UNIX-время в большинстве UNIX-подобных систем, можно использовать команду date +%s.

19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 231, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании не 32-битной, а 64-битной переменной для хранения времени, чего хватит ещё на 300 миллиардов лет.
УмНик

УмНик


Статус: Пользователь
Возраст: 51
Город: Краснодар
Дата регистрации: 11 апр 2005
Последнее посещение: 23 авг 2019 в 9:51
Тем: 100
Сообщений: 32705
Репутация: 803
Спасибо сказали раз: 75077

Написать личное сообщение
14 фев 2009 в 9:16
Извини, затупил. Спутал системное время, и способ его представления непосредственно средствами ОС.


У Вас нет прав писать в этот форум. Попробуйте зарегистрироваться или написать администратору.