Рассчитать даты религиозных праздников
Нагуглила скрипт
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> </head> <body> <div> <form name="UserInput"> <input name="YearEntry" type="number" min="326" max="4099" step="1" value="2019"/> <input id="button1" name="button1" onclick="ShowEasters(UserInput.YearEntry.value)" type="button" value="Расcчитать" /> <script language="JavaScript" type="text/javascript"> var jDay = 0; var jMonth = 0; var oDay = 0; var oMonth = 0; var wDay = 0; var wMonth = 0; var year = 0; if (parseFloat(navigator.appVersion) < 2) alert ("You may need to upgrade your browser to reliably use the Easter Date calculator"); function ShowEasters(yr) { year = parseInt(yr, 10); if (isNaN(year)) year = 0; jDay = 0; jMonth = 0; oDay = 0; oMonth = 0; wDay = 0; wMonth = 0; if ((year <= 325) || (year > 4099)) alert("Выберите год с 326 до 4099"); else { EasterJulian(); // used for all calculations if ((year > 325) && (year <= 1582)) { alert("Католическая Пасха " + year + ": " + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " по юлианскому календарю "); } else { EasterOrthodox (year, jDay, jMonth); EasterWestern (); if (year <= 1923) { alert("Католическая Пасха " + year + ": " + GetMonth(wMonth) + " " + GetOrdinal(wDay) + ".nn" + "Православная Пасха " + year + ": " + GetMonth(oMonth) + " " + GetOrdinal(oDay) + "n(по григорианскому календарю), эта дата в юлианском календаре =n" + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " по юлианскому календарюn(для регионов, использующих этот календарь в то время)."); } else { alert("Католическая Пасха " + year + ": " + GetMonth(wMonth) + " " + GetOrdinal(wDay) + ".nn" + "Православная Пасха " + year + ": " + GetMonth(oMonth) + " " + GetOrdinal(oDay) + ",n" + "эта дата в юлианском календаре =n" + GetMonth(jMonth) + " " + GetOrdinal(jDay) + " (по старому стилю)."); } } } } function IntDiv (num, dvsr) { var negate = false; var result = 0; if (dvsr == 0) return null; else { if (num * dvsr < 0 ) negate = true; if (num < 0) num = -num; if (dvsr < 0) dvsr = -dvsr; result = ((num - (num % dvsr)) / dvsr); if (negate) return -result; else return result; } } function GetMonth(m) { if (m==3) return ("Март,"); if (m==4) return ("Апрель,"); if (m==5) return ("Май,"); } function GetOrdinal(d) { var rmdr = 0; rmdr = d % 10; if (((d >= 4) && (d <= 20)) || (rmdr == 0) || (rmdr > 3)) return (d + " число"); else { if (rmdr==1) return (d + " число"); if (rmdr==2) return (d + " число"); if (rmdr==3) return (d + " число"); } } function EasterJulian() { var g = 0; var i = 0; var j = 0; var p = 0; g = year % 19; i = (19 * g + 15) % 30; j = (year + IntDiv(year, 4) + i) % 7; p = i - j + 28; jDay = p; jMonth = 4; if (p > 31) jDay = p - 31; else jMonth = 3; } function EasterWestern() { var g = 0; var c = 0; var h = 0; var i = 0; var j = 0; var p = 0; g = year % 19; c = IntDiv(year, 100); h = (c - IntDiv(c, 4) - IntDiv(8 * c + 13, 25) + 19 * g + 15) % 30; i = h - IntDiv(h, 28) * (1 - IntDiv(h, 28) * IntDiv(29, h + 1) * IntDiv(21 - g, 11)); j = (year + IntDiv(year, 4) + i + 2 - c + IntDiv(c, 4)) % 7; p = i - j + 28; wDay = p; wMonth = 4; if (p > 31) wDay = p - 31; else wMonth = 3; } function EasterOrthodox (yr, jDay, jMonth) { var extra = 0; var tmp = 0; oDay = 0; oMonth = 0; if ((yr > 1582) && (yr <= 4099)) { extra = 10; if (yr > 1600) { tmp = IntDiv(yr, 100) - 16; extra = extra + tmp - IntDiv(tmp, 4); } oDay = jDay + extra; oMonth = jMonth; if ((oMonth == 3) && (oDay > 31)) { oMonth = 4; oDay = oDay - 31; } if ((oMonth == 4) && (oDay > 30)) { oMonth = 5; oDay = oDay - 30; } } } </script> </form> </div> <div> Католическая пасха<br> Воскресенье<br> 21 апреля 2019 г. </div> <div> Православная пасха<br> Воскресенье<br> 28 апреля 2019 г. </div> <div> Радуница<br> Вторник<br> 7 мая 2019 г. </div> </body> </html> как исправить, чтобы по умолчанию показывал даты на текущий год в нижних дивах (для примера вывела текстом), три праздника, католическую пасху, православную пасху, и радуницу (плюс 9 дней к православной пасхе), |
Часовой пояс GMT +3, время: 21:35. |