1494

Тонко, однако.

Тонко, однако.

#comment

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Чем обозначена важность 1970? И почему забыли Аду)

раскрыть ветку (26)
6
Автор поста оценил этот комментарий

Нууу мне первое, что вспомнилось - это rand в плюсах. Он же выплевывает кол-во секунд с магической даты 1 января 1970 года. Мне как плюсисту это было важно :D
А вообще, какого-то основательного объяснения этому я не находила...

раскрыть ветку (23)
10
Carpe diem
Автор поста оценил этот комментарий

В UNIX и всем, что из него выросло, включая POSIX и libc, время считается как число секунд с 1 января 1970-го года. Так придумали их создатели в 70-е годы

7 февраля 2036-го года счетчик переполнится и все накроется пиздецом. Правда современные ОС поддерживают 64-х разрядное представление времени, но есть еще куча 32-х разрядных систем и библиотек, в первую очередь на всяком встраиваемом железе.

раскрыть ветку (12)
5
Автор поста оценил этот комментарий

проблема 2000 года, только в другом масштабе?

раскрыть ветку (6)
4
Голосуем за КПРФ !!!
Автор поста оценил этот комментарий

Главной критической датой с точки зрения Unix-времени считается 19 января 2038 года в 03:14:08 по всемирному времени, когда значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 2 в 31 степени, что может привести к ошибочной интерпретации этого числа как отрицательного. Комплекс рисков, связанных с этой датой, получил наименование проблемы 2038 года. Возможное решение данной проблемы состоит в использовании для хранения времени не 32-битной, а 64-битной переменной (что и делается во всех современных 64-битных операционных системах), этого хватит на 292 млрд лет.

раскрыть ветку (4)
3
Автор поста оценил этот комментарий
этого хватит на 292 млрд лет.

А потом что?

Надеяться и молится, что к этому времени все успеют на 128 бит перейти?

раскрыть ветку (2)
4
Автор поста оценил этот комментарий
Какие 128? Через 5 млрд лет Солнце погаснет,как в темноте жить? Замерзнем и умрем
раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Не мы на него переедем а пока что ночью разведываем обстановку
0
DELETED
Автор поста оценил этот комментарий
что может привести к ошибочной интерпретации этого числа как отрицательного

Ну не может, а именно приведет)

1
Carpe diem
Автор поста оценил этот комментарий

Угу

1
Голосуем за КПРФ !!!
Автор поста оценил этот комментарий

Не в 2036 году, а 19 января 2038 года в 03:14:08 по всемирному времени, когда значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 2 в 31 степени (с) wiki

раскрыть ветку (1)
0
Carpe diem
Автор поста оценил этот комментарий

Значит куда-то не туда посмотрел

0
Автор поста оценил этот комментарий

Я просто не могу понять, почему выбрано именно это число. Оно имеет какое-то особенное представление?

раскрыть ветку (2)
6
Carpe diem
Автор поста оценил этот комментарий

Нет, никакого. UNIX разработали в 70-е годы, создатели просто взяли последнюю на тот момент круглую дату для начала отсчета. Счетчик был 32-х разрядным, так что в него влезал период меньше 70 лет, поэтому взять какую-то отдаленную дату типа 0-го или даже 1900-го года было нельзя. А числа большей разрядности компьютеры 70-х считали сложно, медленно и печально. Так и повелось.

Представление этой даты в UNIX time это 0.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Теперь сложилось, спасибо!)

2
Автор поста оценил этот комментарий
Нууу мне первое, что вспомнилось - это rand в плюсах. Он же выплевывает кол-во секунд с магической даты 1 января 1970 года.

rand выплевывает псевдослучайное число на основе seed.

Иллюстрация к комментарию
раскрыть ветку (3)
Автор поста оценил этот комментарий
Нам n лет назад на первом курсе объяснили так, как я написала, ну я и поверила тогда. Окей, если, как говорила наша преподаватель: "вы, я извиняюсь, srand сделали?" от time, то time проинитит тем, чем я сказала. И в конечном счете для рандома часто используется то самое количество секунд. С одной стороны, спасибо конечно, что отправили разобраться, но с другой.. ну вы, батенька, и зануда)
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

srand и есть функция для инициализации seed.

time испрользуют в качестве seed, но не в качестве случайных чисел (ну по крайней мере никто в здравом уме).


Да, я зануда :-)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Ну, а я как сказала?) Для инициализации, а для случайных чисел по крайней мере при обучении нам так давали, дальше мне в плюсах не пригождалось)
1
Голосуем за КПРФ !!!
Автор поста оценил этот комментарий

Это не магическая дата, это начало эпохи UNIX. Любая дата и время там выражается, как число секунд с 01.01.1970г.

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

У меня был вопрос, почему завязано именно на 70й год. Вполне возможно, я туплю (это мое нормальное состояние), но не понимаю..

раскрыть ветку (4)
5
Автор поста оценил этот комментарий
В первых версиях юникс эпоха шла от 1 января 1971г, первое издание мануала к юниксу появилось 3 ноября 1971г и определяло Unix time как время от 00:00:00 1 января 1971г, отмеренное в 1/60 секунды. Там же было упоминание, что в виду 32-х разрядности системы не нужно быть гением чтобы посчитать что определённое так время имеет запас всего 2.5 года до переполнения. Именно поэтому при принятии стандарта POSIX юникосовое время стали отмерять в секундах, а не в 1/60х и по эстетическим соображениям начало эпохи сдвинули на 00:00:00 1 января 1970г. В то же время Unix под своим именем появился в 1970г, так что год вполне уместен, но ничего торжественного именно в полночь 1 января того года связанного с Unix не происходило.

В современных юникс-подобных осях используется уже 64 разрядное время, способное представить любую дату вплоть до 20-кратного возраста обозримой вселенной в обоих направлениях от 1970г.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Понятно, спасибо)
0
DELETED
Автор поста оценил этот комментарий
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Но здесь, как и на большинстве ресурсов, не объяснен выбор года, а просто ставят перед фактом)
1
Автор поста оценил этот комментарий

Как-то так:

FROM_UNIXTIME(0) = 1970-01-01 00:00:00

0
Автор поста оценил этот комментарий

Ада там дальше в комменте была. Не заскринили(

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества