Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Доработать скрипт (https://javascript.ru/forum/misc/78800-dorabotat-skript.html)

Блондинка 07.11.2019 03:30

Доработать скрипт
 
Кто может помочь исправить и доработать скрипт

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style>
    div { width: 70%; border: 1px solid #a9a9a9; border-radius: 12px/9px; padding: 10px 25px; margin: 0 20px 5px 0; }
    input { display: inline-block; text-align: center; }
    </style>
</head>
<body>
    <div>
        <input id="YearEntry" type="number" min="326" max="4099" step="1" value="2019" />
        <input id="button1" type="button" value="Расcчитать" />
    </div>
    <div>
        Католическая пасха<br />
        <span id="catholic"></span>
    </div>
    <div>
        Православная пасха<br />
        <span id="orthodox"></span>
    </div>
    <div>
        Радуница<br />
        <span id="rad"></span>
    </div>
    <div>
        Вербное воскресенье<br />
        <span id="verb"></span>
    </div>
    <div>
        Масленица<br />
        <span id="masl"></span>
    </div>
    <script>
        function catholicDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Пример на 1777 год (год рождения Карла Гаусса): год = 1777 
            // a = год mod 19      a = 10 
            var a = year % 19;
            // b = год mod 4       b = 1 
            var b = year % 4;
            // c = год mod 7       c = 6 
            var c = year % 7;
            // k = целая часть (год/100)           k = 17 
            var k = Math.floor(year / 100);
            // p = целая часть ((13 + 8k)/25)      p = 5 
            var p = Math.floor((13 + 8 * k) / 25);
            // q = целая часть (k/4)               q = 4 
            var q = Math.floor(k / 4);
            // M = (15 в€’ p + k в€’ q) mod 30         M = 23 
            var m = (15 - p + k - q) % 30;
            // N = (4 + k в€’ q) mod 7               N = 3 
            var n = (4 + k - q) % 7;
            // d = (19a + M) mod 30                d = 3 
            var d = (19 * a + m) % 30;
            // e = (2b + 4c + 6d + N) mod 7        e = 5 
            var e = (2 * b + 4 * c + 6 * d + n) % 7;
            // Дата Пасхи по новому стилю: 22 + d + e марта или d + e в€’ 9 апреля       30 марта 
            // Если d = 29 и e = 6, то вместо 26 апреля будет 19 апреля 
            if (d === 29 && e === 6)
                return new Date(year, 3, 19);
            // Если d = 28, e = 6 и (11M + 11) mod 30 < 19, то вместо 25 апреля будет 18 апреля 
            if (d === 28 && e === 6 && ((11 * m + 11) % 30 < 19))
                return new Date(year, 3, 18);
            if (d + e > 9)
                return new Date(year, 3, d + e - 9);
            else
                return new Date(year, 2, 22 + d + e);
        }
        function orthodoxDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Разделить номер года на 19 и определить остаток от деления a.
            var a = year % 19;
            // Разделить номер года на 4 и определить остаток от деления b.
            var b = year % 4;
            // Разделить номер года на 7 и определить остаток от деления c.
            var c = year % 7;
            // Разделить сумму 19a + 15 на 30 и определить остаток d.
            var d = (19 * a + 15) % 30;
            // Разделить сумму 2b + 4c + 6d + 6 на 7 и определить остаток e.
            var e = (2 * b + 4 * c + 6 * d + 6) % 7;
            // Определить сумму f = d + e.
            var f = d + e;
            // (по старому стилю) Если f ≤ 9, то Пасха будет праздноваться 22 + f марта; если f > 9, то Пасха будет праздноваться f — 9 апреля.
            // (по новому стилю) Если f ≤ 26, то Пасха будет праздноваться 4 + f апреля; если f > 26, то Пасха будет праздноваться f — 26 мая. 
            return f <= 26
                ? new Date(year, 3, 4 + f)
                : new Date(year, 4, f - 26);
        }
        // Три даты отображаем в едином формате
        function formatDate(date) {
            return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" });

        }
        document.addEventListener("DOMContentLoaded", document_domcontentloaded);
        function document_domcontentloaded(){
            document.getElementById("YearEntry").value = new Date().getFullYear();
            button1_click();
            document.getElementById("button1").onclick = button1_click;
        }
        function button1_click() {
            var year = document.getElementById("YearEntry").value;
            document.getElementById("catholic").textContent = formatDate(catholicDate(year));
            var date1 = orthodoxDate(year);
            document.getElementById("orthodox").textContent = formatDate(date1);
            var date2 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() + 9);
            document.getElementById("rad").textContent = formatDate(date2);
            var date3 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 7);
            document.getElementById("verb").textContent = formatDate(date3);
            var date4 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 49);
            document.getElementById("masl").textContent = formatDate(date4);
        }
    </script>
</body>
</html>


Как исправить 93 строку, чтобы день недели выводился с заглавной буквы и чтобы число месяц год начинался с новой строки?

(return date.toLocaleDateString("ru", { weekday: "long",<br> day: "numeric", month: "long", year: "numeric" });)

И как сделать если дата меньше 15 октября 1582 г. то вывалилась по старому стилю, а если равна или больше, то вывалилась бы и по старому и по новому стилю?

Блондинка 07.11.2019 19:23

Никто не знает как поставить тег переноса строки в строке
(return date.toLocaleDateString("ru", { weekday: "long",<br> day: "numeric", month: "long", year: "numeric" });)

laimas 07.11.2019 20:00

Цитата:

Сообщение от Блондинка
Никто не знает как поставить тег переноса строки в строке

Это не строка, это параметры метода описываемые объектом.

Блондинка 07.11.2019 20:49

laimas,
это строка кода номер 93,,
возможно ли в нужном мне месте вставить тег переноса строки?

рони 07.11.2019 20:53

Блондинка,
вместо метода toLocaleDateString, вам нужно самостоятельно создать строку в том виде какой вам нужен.

Блондинка 07.11.2019 20:56

рони,
ясно, тогда непонятно как это сделать?

laimas 07.11.2019 21:02

Цитата:

Сообщение от Блондинка
возможно ли в нужном мне месте вставить тег переноса строки?

Не помнится такого чтобы в JS в опциях локали можно было указать какой либо разделитель в каком-то месте.

Блондинка 07.11.2019 21:17

laimas,
как вместо метода toLocaleDateString, создать строку в нужном мне виде?

laimas 07.11.2019 21:23

Получить дату, а затем выводить все ее компоненты так, как вам нужно.

Блондинка 07.11.2019 21:33

laimas,
остался главный вопрос, как это сделать?

laimas 07.11.2019 21:37

Может так пойдет?

return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(',', '<br>')

Блондинка 07.11.2019 22:09

Цитата:

Сообщение от laimas (Сообщение 515089)
Может так пойдет?

return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(',', '<br>')

так выводится не тег а текст,
день недели<br> число месяц год

рони 07.11.2019 22:13

Блондинка,
textContent заменить на ...

Блондинка 07.11.2019 22:23

на троеточие?

Блондинка 07.11.2019 22:25

как получить название дня недели с заглавной буквы, потом тег переноса строки и потом число месяц год?

рони 07.11.2019 22:31

Цитата:

Сообщение от Блондинка
на троеточие?

:(
innerHTML

laimas 07.11.2019 22:34

Цитата:

Сообщение от Блондинка
так выводится не тег а текст

<body></body>
<script>
document.body.innerHTML = new Date().toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, function(v, i) {
    return !i ? v.toUpperCase() : '<br>'
})
</script>

Блондинка 07.11.2019 22:46

laimas,

Чем именно заменить эти строки
// Все даты отображаем в едином формате
        function formatDate(date) {
            return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" });

        }

laimas 07.11.2019 22:49

// Все даты отображаем в едином формате
        function formatDate(date) {
            return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, function(v, i) {
                return !i ? v.toUpperCase() : '<br>'
            });
        }


или можно короче записать

function formatDate(date) {
            return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, (v, i) => i ? '<br>' : v.toUpperCase())
        }

Блондинка 07.11.2019 23:15

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style>
    div { width: 70%; border: 1px solid #a9a9a9; border-radius: 12px/9px; padding: 10px 25px; margin: 0 20px 5px 0; }
    input { display: inline-block; text-align: center; }
    </style>
</head>
<body>
    <div>
        <input id="YearEntry" type="number" min="326" max="4099" step="1" value="2019" />
        <input id="button1" type="button" value="Расcчитать" />
    </div>
    <div>
        Католическая пасха<br />
        <span id="catholic"></span>
    </div>
    <div>
        Православная пасха<br />
        <span id="orthodox"></span>
    </div>
    <div>
        Радуница<br />
        <span id="rad"></span>
    </div>
    <div>
        Вербное воскресенье<br />
        <span id="verb"></span>
    </div>
    <div>
        Масленица<br />
        <span id="masl"></span>
    </div>
    <script>
        function catholicDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Пример на 1777 год (год рождения Карла Гаусса): год = 1777 
            // a = год mod 19      a = 10 
            var a = year % 19;
            // b = год mod 4       b = 1 
            var b = year % 4;
            // c = год mod 7       c = 6 
            var c = year % 7;
            // k = целая часть (год/100)           k = 17 
            var k = Math.floor(year / 100);
            // p = целая часть ((13 + 8k)/25)      p = 5 
            var p = Math.floor((13 + 8 * k) / 25);
            // q = целая часть (k/4)               q = 4 
            var q = Math.floor(k / 4);
            // M = (15 в€’ p + k в€’ q) mod 30         M = 23 
            var m = (15 - p + k - q) % 30;
            // N = (4 + k в€’ q) mod 7               N = 3 
            var n = (4 + k - q) % 7;
            // d = (19a + M) mod 30                d = 3 
            var d = (19 * a + m) % 30;
            // e = (2b + 4c + 6d + N) mod 7        e = 5 
            var e = (2 * b + 4 * c + 6 * d + n) % 7;
            // Дата Пасхи по новому стилю: 22 + d + e марта или d + e в€’ 9 апреля       30 марта 
            // Если d = 29 и e = 6, то вместо 26 апреля будет 19 апреля 
            if (d === 29 && e === 6)
                return new Date(year, 3, 19);
            // Если d = 28, e = 6 и (11M + 11) mod 30 < 19, то вместо 25 апреля будет 18 апреля 
            if (d === 28 && e === 6 && ((11 * m + 11) % 30 < 19))
                return new Date(year, 3, 18);
            if (d + e > 9)
                return new Date(year, 3, d + e - 9);
            else
                return new Date(year, 2, 22 + d + e);
        }
        function orthodoxDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Разделить номер года на 19 и определить остаток от деления a.
            var a = year % 19;
            // Разделить номер года на 4 и определить остаток от деления b.
            var b = year % 4;
            // Разделить номер года на 7 и определить остаток от деления c.
            var c = year % 7;
            // Разделить сумму 19a + 15 на 30 и определить остаток d.
            var d = (19 * a + 15) % 30;
            // Разделить сумму 2b + 4c + 6d + 6 на 7 и определить остаток e.
            var e = (2 * b + 4 * c + 6 * d + 6) % 7;
            // Определить сумму f = d + e.
            var f = d + e;
            // (по старому стилю) Если f ≤ 9, то Пасха будет праздноваться 22 + f марта; если f > 9, то Пасха будет праздноваться f — 9 апреля.
            // (по новому стилю) Если f ≤ 26, то Пасха будет праздноваться 4 + f апреля; если f > 26, то Пасха будет праздноваться f — 26 мая. 
            return f <= 26
                ? new Date(year, 3, 4 + f)
                : new Date(year, 4, f - 26);
        }
// Все даты отображаем в едином формате
        function formatDate(date) {
            return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, (v, i) => i ? '<br>' : v.toUpperCase())
        }
document.addEventListener("DOMContentLoaded", document_domcontentloaded);
        function document_domcontentloaded(){
            document.getElementById("YearEntry").value = new Date().getFullYear();
            button1_click();
            document.getElementById("button1").onclick = button1_click;
        }
        function button1_click() {
            var year = document.getElementById("YearEntry").value;
            document.getElementById("catholic").textContent = formatDate(catholicDate(year));
            var date1 = orthodoxDate(year);
            document.getElementById("orthodox").textContent = formatDate(date1);
            var date2 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() + 9);
            document.getElementById("rad").textContent = formatDate(date2);
            var date3 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 7);
            document.getElementById("verb").textContent = formatDate(date3);
            var date4 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 49);
            document.getElementById("masl").textContent = formatDate(date4);
        }
    </script>
</body>
</html>

Блондинка 07.11.2019 23:16

:cray:

laimas 07.11.2019 23:19

Цитата:

Сообщение от рони
textContent заменить на ...

Цитата:

Сообщение от Блондинка
на троеточие?

Цитата:

Сообщение от рони
innerHTML

Написали же выше в чем причина и что нужно сделать. Что непонятного?

Блондинка 07.11.2019 23:28

если честно... то всё непонятно...

laimas 07.11.2019 23:35

Везде где вызывается эта функция:

textContent = formatDate

возвращаемое ею значение вставляется в элементы как textContent, что будет трактоваться обычной строкой, поэтому и выводит у вас <br>. А чтобы это трактовалось как html, его нужно определять для innerHTML элемента, то есть везде

textContent = formatDate

заменить на

innerHTML = formatDate

Надеюсь понятно, что все что перед textContent и после formatDate написанное у вас я просто опустил.

Блондинка 08.11.2019 00:08

laimas, :thanks:

Вот сейчас работает

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <style>
    div { width: 70%; border: 1px solid #a9a9a9; border-radius: 12px/9px; padding: 10px 25px; margin: 0 20px 5px 0; }
    input { display: inline-block; text-align: center; }
    </style>
</head>
<body>
    <div>
        <input id="YearEntry" type="number" min="326" max="4099" step="1" value="2019" />
        <input id="button1" type="button" value="Расcчитать" />
    </div>
    <div>
        Католическая пасха<br />
        <span id="catholic"></span>
    </div>
    <div>
        Православная пасха<br />
        <span id="orthodox"></span>
    </div>
    <div>
        Радуница<br />
        <span id="rad"></span>
    </div>
    <div>
        Вербное воскресенье<br />
        <span id="verb"></span>
    </div>
    <div>
        Масленица<br />
        <span id="masl"></span>
    </div>
    <script>
        function catholicDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Пример на 1777 год (год рождения Карла Гаусса): год = 1777 
            // a = год mod 19      a = 10 
            var a = year % 19;
            // b = год mod 4       b = 1 
            var b = year % 4;
            // c = год mod 7       c = 6 
            var c = year % 7;
            // k = целая часть (год/100)           k = 17 
            var k = Math.floor(year / 100);
            // p = целая часть ((13 + 8k)/25)      p = 5 
            var p = Math.floor((13 + 8 * k) / 25);
            // q = целая часть (k/4)               q = 4 
            var q = Math.floor(k / 4);
            // M = (15 в€’ p + k в€’ q) mod 30         M = 23 
            var m = (15 - p + k - q) % 30;
            // N = (4 + k в€’ q) mod 7               N = 3 
            var n = (4 + k - q) % 7;
            // d = (19a + M) mod 30                d = 3 
            var d = (19 * a + m) % 30;
            // e = (2b + 4c + 6d + N) mod 7        e = 5 
            var e = (2 * b + 4 * c + 6 * d + n) % 7;
            // Дата Пасхи по новому стилю: 22 + d + e марта или d + e в€’ 9 апреля       30 марта 
            // Если d = 29 и e = 6, то вместо 26 апреля будет 19 апреля 
            if (d === 29 && e === 6)
                return new Date(year, 3, 19);
            // Если d = 28, e = 6 и (11M + 11) mod 30 < 19, то вместо 25 апреля будет 18 апреля 
            if (d === 28 && e === 6 && ((11 * m + 11) % 30 < 19))
                return new Date(year, 3, 18);
            if (d + e > 9)
                return new Date(year, 3, d + e - 9);
            else
                return new Date(year, 2, 22 + d + e);
        }
        function orthodoxDate(year) {
            // https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи
            // Разделить номер года на 19 и определить остаток от деления a.
            var a = year % 19;
            // Разделить номер года на 4 и определить остаток от деления b.
            var b = year % 4;
            // Разделить номер года на 7 и определить остаток от деления c.
            var c = year % 7;
            // Разделить сумму 19a + 15 на 30 и определить остаток d.
            var d = (19 * a + 15) % 30;
            // Разделить сумму 2b + 4c + 6d + 6 на 7 и определить остаток e.
            var e = (2 * b + 4 * c + 6 * d + 6) % 7;
            // Определить сумму f = d + e.
            var f = d + e;
            // (по старому стилю) Если f ≤ 9, то Пасха будет праздноваться 22 + f марта; если f > 9, то Пасха будет праздноваться f — 9 апреля.
            // (по новому стилю) Если f ≤ 26, то Пасха будет праздноваться 4 + f апреля; если f > 26, то Пасха будет праздноваться f — 26 мая. 
            return f <= 26
                ? new Date(year, 3, 4 + f)
                : new Date(year, 4, f - 26);
        }
        // Все даты отображаем в едином формате
        function formatDate(date) {
        return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, function(v, i) {
        return !i ? v.toUpperCase() : '<br>'
        });
        }
document.addEventListener("DOMContentLoaded", document_domcontentloaded);
        function document_domcontentloaded(){
            document.getElementById("YearEntry").value = new Date().getFullYear();
            button1_click();
            document.getElementById("button1").onclick = button1_click;
        }
        function button1_click() {
            var year = document.getElementById("YearEntry").value;
            document.getElementById("catholic").innerHTML = formatDate(catholicDate(year));
            var date1 = orthodoxDate(year);
            document.getElementById("orthodox").innerHTML = formatDate(date1);
            var date2 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() + 9);
            document.getElementById("rad").innerHTML = formatDate(date2);
            var date3 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 7);
            document.getElementById("verb").innerHTML = formatDate(date3);
            var date4 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate() - 49);
            document.getElementById("masl").innerHTML = formatDate(date4);
        }
    </script>
</body>
</html>

laimas 08.11.2019 00:16

А почему не так?

return date.toLocaleDateString("ru", { weekday: "long", day: "numeric", month: "long", year: "numeric" }).replace(/^.?|,/g, (v, i) => i ? '<br>' : v.toUpperCase())

Блондинка 08.11.2019 00:16

Сейчас осталось разобраться как получить даты и по старому и по новому стилям, и как выводить на экран или одну дату по старому стилю(если дата меньше 15 окт 1582г.), или две даты по обоим стилям

Блондинка 08.11.2019 00:19

Цитата:

Сообщение от laimas (Сообщение 515104)
А почему не так?

главное что работает...

laimas 08.11.2019 00:48

Цитата:

Сообщение от Блондинка
главное что работает...

Короче запись, а вообще на страницах нужно выставлять типа такого

function f(d){return d.toLocaleDateString("ru",{weekday:"long",day:"numeric",month:"long",year:"numeric"}).replace(/^.?|,/g,function(a,b){return b?"<br>":a.toUpperCase()})}document.addEventListener("DOMContentLoaded",l);function l(){document.getElementById("YearEntry").value=(new Date).getFullYear();p();document.getElementById("button1").onclick=p}function p(){var d=document,a=d.getElementById("YearEntry").value;var b=(a%19*19+15)%30;b+=(a%4*2+a%7*4+6*b+6)%7;b=26>=b?new Date(a,3,4+b):new Date(a,4,b-26);var g=b.getFullYear(),h=b.getMonth(),k=b.getDate(),c=Math.floor(a/100),m=Math.floor(c/4),n=(15-Math.floor((13+8*c)/25)+c-m)%30,e=(a%19*19+n)%30;c=(a%4*2+a%7*4+6*e+(4+c-m)%7)%7;d.getElementById("catholic").innerHTML=f(29===e&&6===c?new Date(a,3,19):28===e&&6===c&&19>(11*n+11)%30?new Date(a,3,18):9<e+c?new Date(a,3,e+c-9):new Date(a,2,22+e+c));d.getElementById("orthodox").innerHTML=f(b);d.getElementById("rad").innerHTML=f(new Date(g,h,k+9));d.getElementById("verb").innerHTML=f(new Date(g,h,k-7));d.getElementById("masl").innerHTML=f(new Date(g,h,k-49))};


А версию разработчика держать отдельно.

Блондинка 08.11.2019 01:11

laimas,
может быть подскажешь как вывести на экран если дата меньше 15 окт 1582 г.

<div>Католическая пасха:<br>
Воскресенье<br>
число месяц год (по старому стилю)</div>


а если равна или больше, то

<div>Католическая пасха <br>
:Воскресенье<br>
число месяц год (по новому стилю)<br>
Воскресенье<br>
число месяц год (по старому стилю)</div>

и так с каждой датой

laimas 08.11.2019 01:21

Сравнивайте даты либо проверяйте дату эту и далее по обстановке.

Блондинка 08.11.2019 04:44

Насколько я понимаю, сейчас высщитываються даты по григорианскому календарю, в яваскрипт нету объекта дата для юлианского календаря, отнимать 10-13 дней в определенные периоды тоже не выход, поскольку от воскресенья отнять 10-13 дней получится не воскресенье, вопрос как правильно получить и дату и день недели по юлианскому календарю??? Или как конвертировать даты из григорианского календаря в юлианский???

laimas 08.11.2019 07:47

Вы чего хотите? В том что здесь показано указывается конкретный год, от которого все и считается, и в этом же и нужно узнать равен ли год году Х и т.д.? Ну так он же указан, сравнивайте результат его вычисления.

Блондинка 08.11.2019 14:16

laimas,
я хочу получить дату по старому стилю, и именно в формате день недели число месяц год но не знаю как это сделать...

Сейчас разница между календарями 13 дней, если от дня недели вычесть 13 дней, то получим правильное число/месяц но неправильный день недели...

laimas 08.11.2019 14:27

Если честно, то я не понимаю где, каких дат.

Блондинка 08.11.2019 14:44

laimas,
в посте запускаемый пример, например получили дату православной пасхи по новому стилю воскресенье 28 апреля 2019 г., как получить дату православной пасхи по старому стилю воскресенье 15 апреля 2019г.?

laimas 08.11.2019 15:06

Отнять от даты нового стиля разницу между новым и старым стилем.

Блондинка 08.11.2019 15:27

laimas,
тогда получится понедельник 15 апреля 2019г. а не воскресенье

и как узнать сколько отнимать? 20-21 век 13 дней, 19 век 12 дней, 22 век 14 дней и тд

laimas 08.11.2019 15:32

Блондинка, я не яростный атеист, тем не менее когда там пасха должна быть и должна ли быть, мне все равно. :)
Но разница между новым и старым стилем, дай бог памяти, вроде бы 13 дней, и если оперировать этой разницей, то пасха не выпадает на выходной день, а по рабочим она не может быть?

Блондинка 08.11.2019 15:55

laimas,
разница между календарями не постоянная, в 20 и 21 веке 13 дней, а в 19 была 12 дней, в 18 - 11дней, в 22 будет 14 дней, и тд, глянь в википедии статьи григорианский или юлианский календарь, там есть таблица разницы между календарями,

хоть разница в числах разная в определенные периоды времени, но день недели всегда совпадает в обоих календаря...

остаётся вопрос как всё это правильно высчитать...


Часовой пояс GMT +3, время: 09:53.