Почему 01.01.1970 "эпохальное время"?

std::pair<int, int> divide(int dividend, int divisor)
{
   // :
   return std::make_pair(quotient, remainder);
}

std::pair<int, int> answer = divide(5,2);
 // answer.first == quotient
 // answer.second == remainder

std :: pair - это, по сути, ваше структурное решение, но уже определенное для вас и готовое к адаптации к любым двум типам данных.

435
задан 5 revs, 4 users 62% 23 June 2011 в 04:08
поделиться

4 ответа

Ранние версии unix измеряли системное время с интервалами 1/60 с. Это означало, что 32-битное целое число без знака могло представлять только промежуток времени менее 829 дней. По этой причине время, представленное числом 0 (называемое эпохой ), должно было быть установлено в самом недавнем прошлом. Поскольку это было в начале 1970-х годов, эпоха была установлена ​​на 1971-1-1.

Позже системное время было изменено на приращение каждую секунду, что увеличило промежуток времени, который мог быть представлен 32-битным беззнаковым целое число около 136 лет. Поскольку уже не было так важно выжать из счетчика каждую секунду, эпоху округлили до ближайшего десятилетия, превратившись в 1970-1-1. Надо полагать, что это считалось немного более аккуратным, чем 1971-1-1.

407
ответ дан 22 November 2019 в 23:11
поделиться

Краткий ответ: Почему бы и нет?

Более длинный ответ: Время само по себе не имеет значения, если все, кто его использует, согласны с его значением. Поскольку 1/1/70 используется так долго, его использование сделает ваш код максимально понятным для максимально возможного количества людей.

Нет большого достоинства в выборе произвольной эпохи только для того, чтобы отличаться.

-11
ответ дан 22 November 2019 в 23:11
поделиться

История .

Самые ранние версии Unix time имели 32-битное целое число с приращением частота 60 Гц, которая была скоростью системные часы на оборудовании ранние системы Unix. Значение 60 Hz все еще появляется в некоторых программах интерфейсы в результате. Эпоха также отличается от текущего значения. первое издание Руководство программиста Unix от 3 ноября 1971 г. определяет Unix time как "время с 00:00:00, 1 января 1971 г., измеряется шестидесятыми долями. включая сложность настоящего определения, результат того, что время Unix было определено постепенно путем использования, а не полностью определено с самого начала.

9
ответ дан 22 November 2019 в 23:11
поделиться

История .

Самые ранние версии времен Unix 32-битное целое число с приращением частота 60 Гц, которая была скоростью системные часы на оборудовании ранние системы Unix. Значение 60 Hz все еще появляется в некоторых программах интерфейсы в результате. Эпоха также отличается от текущего значения. первое издание Руководство программиста Unix от 3 ноября 1971 г. определяет Unix time как "время с 00:00:00, 1 января 1971 г., измеряется шестидесятыми долями. второй ".

49
ответ дан 22 November 2019 в 23:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: