release
This commit is contained in:
commit
cd19d83247
|
@ -0,0 +1 @@
|
||||||
|
Просто сайт, оповещающей о проблеме 2038 года, запилил чисто по фану.
|
|
@ -0,0 +1,52 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Проблема 2038 года</title>
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Heebo&display=swap" rel="stylesheet">
|
||||||
|
<link rel="shortcut icon" href="icon.png" type="image/x-icon">
|
||||||
|
<link rel="stylesheet" type="text/css" href="style.css">
|
||||||
|
<meta name="theme-color" id="meta-color" content="#000000">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1 id="title">До смерти 32-битных систем осталось</h1>
|
||||||
|
<div style="text-align: center;"><span id="time-left"></span><span id="time-left-msec"></span></div>
|
||||||
|
<p id="time-left-readable"></p>
|
||||||
|
<progress id="prog" max="2147483647"></progress>
|
||||||
|
<div id="decsription">
|
||||||
|
<h3>О чём этот сайт?</h3>
|
||||||
|
<p>Проблема 2038 года в вычислительной технике — ожидаемые сбои в программном обеспечении накануне 19 января
|
||||||
|
2038 года. Данная проблема затронет программы и системы, в которых используется представление времени по
|
||||||
|
стандарту POSIX (UNIX-время), которое представляет собой количество секунд, прошедшее с полуночи 1 января
|
||||||
|
1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за
|
||||||
|
повсеместного использования языка Си).</p>
|
||||||
|
<p>Сейчас значение Unix timestamp равно <span id="timestamp"></span>.</p>
|
||||||
|
<p>Для проблемы 2038 года не существует простого решения для существующих комбинаций операционных систем и
|
||||||
|
прикладного программного обеспечения. Изменение определения типа time_t на 64 бита нарушит бинарную
|
||||||
|
совместимость программ, существующих хранимых данных и всего другого, использующего представление времени в
|
||||||
|
бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют
|
||||||
|
разницу во времени.</p>
|
||||||
|
<h3>Что подвержено этой проблеме?</h3>
|
||||||
|
<p>В большинстве операционных систем для 64-битных архитектур уже используется 64-битное представление целого в
|
||||||
|
time_t. Переход на такие архитектуры уже происходит, и ожидается, что он будет завершён к 2038 году.</p>
|
||||||
|
<p>Тем не менее, сотни тысяч 32-битных систем всё ещё вводятся в строй в настоящее время, в том числе и во
|
||||||
|
встраиваемых системах, что вызывает сомнение, что они все будут заменены к 2038 году. Несмотря на то, что
|
||||||
|
современные компьютерные системы могут модернизироваться раз в 18—24 месяцев (по «Закону Мура»), встроенные
|
||||||
|
компьютеры могут действовать без модернизации весь срок, который работают системы, ими управляемые.</p>
|
||||||
|
<p>В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как
|
||||||
|
повсеместно распространённый архивный формат ZIP. Формат файла может существовать в течение времени, за
|
||||||
|
которое сменятся многие поколения компьютеров, а это означает, что Проблема 2038 останется актуальной.</p>
|
||||||
|
<h3>Использаванные материалы при составлении этого текста</h3>
|
||||||
|
<p><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0">Проблема 2038 года - Wikipedia RU</a></p>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<hr>
|
||||||
|
<p>Автор сайта: <a href="https://t.me/dan63047">dan63047</a></p>
|
||||||
|
</footer>
|
||||||
|
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
|
||||||
|
<script type="text/javascript" src="script.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,23 @@
|
||||||
|
function Cycle() {
|
||||||
|
var timestamp = Date.now() / 1000,
|
||||||
|
maxtimestamp = 2147483647,
|
||||||
|
left = maxtimestamp - timestamp,
|
||||||
|
t = Math.floor(left),
|
||||||
|
tmsec = Math.floor(left * 1000) % 1000,
|
||||||
|
tsec = Math.floor(left % 60),
|
||||||
|
tmin = Math.floor(left / 60) % 60,
|
||||||
|
thour = Math.floor(left / 60 / 60) % 24,
|
||||||
|
tday = Math.floor(left / 60 / 60 / 24);
|
||||||
|
$("#time-left").html(t.toLocaleString('ru'));
|
||||||
|
$("#time-left-msec").html("." + ('00' + tmsec).slice(-3));
|
||||||
|
$("#prog").val(timestamp);
|
||||||
|
$("#timestamp").html(Math.trunc(timestamp).toLocaleString('ru'));
|
||||||
|
if (left > 60) { $("#time-left-readable").html("(" + tday + ":" + ("0" + thour).slice(-2) + ":" + ("0" + tmin).slice(-2) + ":" + ("0" + tsec).slice(-2) + ")") } else { $("#time-left-readable").css("display", "none") }
|
||||||
|
if (left <= 0) {
|
||||||
|
clearInterval(c);
|
||||||
|
$("#time-left").html("0");
|
||||||
|
$("#time-left-msec").html(".000");
|
||||||
|
$("#title").html("С͓̪̩̳͕͍̄ͮͤ̚̚м̦͎͉̝̋̄е̥͕̫̫̱̱͓̞̾р̞̤̰͖̤̟̫͓̏̍͒ͣ͐͂̚ͅт̗̥̲̩̣̯̹̅ͅь̙͍̟̟̮̩̦̹ͩͤ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var c = setInterval(Cycle, 1000 / 60);
|
Loading…
Reference in New Issue