исправить и оптимизировать скрипт
есть такой скрипт
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0,0%,90%); color: hsl(340,100%,50%); font: bold 24px/20px serif; text-align: center; padding: 15px 20px; border: 1px solid hsl(0,0%,50%); border-radius: 12px/9px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"> </div> <script type="text/javascript"> var holidays = [ { // January Январь '1': {'start': 0, 'duration': 24, 'compliments': 'С новым годом !'}, '7': {'start': 0, 'duration': 24, 'compliments': 'С рождеством !'} }, { // February Февраль '23': {'start': 0, 'duration': 24, 'compliments': 'С 23 февраля !'} }, { // March Март '8': {'start': 0, 'duration': 12, 'compliments': 'С 8 марта !'} }, { // April Апрель '12': {'start': 0, 'duration': 12, 'compliments': 'С днём космонавтики !'} }, { // May Май '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 мая !'}, '2': {'start': 0, 'duration': 24, 'compliments': 'Петя, с ДНЮХОЙ !'}, '9': {'start': 0, 'duration': 24, 'compliments': 'С 9 мая !'} }, { // June Июнь '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 июня, Всемирным днём родителей !'} }, { // July Июль '3': {'start': 0, 'duration': 24, 'compliments': '3 июля, день независимости Республики Беларусь !'} }, { // August Август '12': {'start': 0, 'duration': 24, 'compliments': '12 августа международный день молодёжи !'} }, { // September Сентябрь '1': {'start': 0, 'duration': 24, 'compliments': '1 сентября, день знаний !'} }, { // October Октябрь '1': {'start': 0, 'duration': 24, 'compliments': '1 октября, международный день пожилых людей !'} }, { // November Ноябрь '7': {'start': 0, 'duration': 24, 'compliments': '7 ноября, день октябрьской революции !'} }, { // December Декабрь '25': {'start': 0, 'duration': 24, 'compliments': 'С католическим рождеством !'} } ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } function getActualCompliments() { var now = new Date("2 May 2021"); // кат.пасха "4 April 2021 00:00:00:000", прав.пасха "2 May 2021 00:00:00:000", радуница "11 May 2021 00:00:00:000", троица "20 June 2021 00:00:00:000" var result = holidays.filter(v => { var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); var durms = v.duration * 3600000; console.log(now, currentDate, (now - currentDate) / 3600000); var rg = now - currentDate; return rg <= durms && rg >= 0; }).map(v => v.compliments); var caholic = catholicDate(now.getFullYear()); var ortodox = orthodoxDate(now.getFullYear()); if (caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate()) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate()) result.push("С православной пасхой!"); var radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate()) result.push("С радуницей !"); var trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if (trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate()) result.push("С троицей!"); return result; } var actualCompliments = getActualCompliments(); console.log(actualCompliments); if (actualCompliments.length > 0) { var hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { var div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } function foo(month, day, compliment, hour = 0) { return { month: month, day: day, hour: hour, compliment: compliment } } var now9 = new Date(); now9.setDate(now9.getDate() + 9); console.log(now9); var now49 = new Date(); now49.setDate(now49.getDate() + 49); console.log(now49); d = new Date( "2 May 2021"); // d = new Date( "9 May 2021 00:00:00:001" ) if((m = holidays[d.getMonth()]) && m[d.getDate()]) { m = m[d.getDate()]; if(d.getHours()>=m.start) { var b = document.getElementById("holiday"); if (!b) { b = document.createElement("div"); b.id = "holiday"; document.querySelector("body").appendChild(b); } b.innerHTML = m.compliments; b.style.display = "block"; } } </script> <div id="footer"></div> </body> </html> 1.) почему не отображается поздравление с пасхой, если в 108 строке указана дата 2.05.2021 ? 2.) как сделать чтобы массив с месяцами шёл не по порядку? (например в октябре нет праздников, и октябрь надо удалить из массива, или другими словами присвоить месяцам порядковый номер 1-12...) |
почему не отображается поздравление с пасхой, если в 108 строке указана дата 2.05.2021 ?
|
Разберитесь в строках 167-175.
Что то вы не туда добавляете и затираете предыдущее поздравление (с пасхой) Если заменить эти строки на var h = document.getElementById("holiday"); // if (!b) { b = document.createElement("div"); // b.id = "holiday"; b.innerHTML = m.compliments; b.style.display = "block"; h.appendChild(b); // } То появляются оба поздравления. |
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0,0%,90%); border: 1px solid hsl(0,0%,50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340,100%,50%); } .holiday { color: hsl(210,100%,50%); } .birthday { color: hsl(120,100%,25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"> </div> <script> var holidays = [ { '1': {'start': 0, 'duration': 24, 'compliments': 'С новым годом !'}, '7': {'start': 0, 'duration': 24, 'compliments': 'С рождеством !'} }, { '23': {'start': 0, 'duration': 24, 'compliments': 'С 23 февраля !'} }, { '8': {'start': 0, 'duration': 24, 'compliments': 'С 8 марта !'} }, { '12': {'start': 0, 'duration': 24, 'compliments': 'С днём космонавтики !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 мая !'}, '2': {'start': 0, 'duration': 24, 'compliments': '<span class="birthday">С ДНЮХОЙ !</span>'}, '2': {'start': 0, 'duration': 24, 'compliments': '<span class="holiday">С 2 мая !</span>'}, '9': {'start': 0, 'duration': 24, 'compliments': 'С 9 мая !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 июня, Всемирным днём родителей !'} }, { '3': {'start': 0, 'duration': 24, 'compliments': '3 июля, день независимости Республики Беларусь !'} }, { '12': {'start': 0, 'duration': 24, 'compliments': '12 августа международный день молодёжи !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': '1 сентября, день знаний !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': '1 октября, международный день пожилых людей !'} }, { '7': {'start': 0, 'duration': 24, 'compliments': '7 ноября, день октябрьской революции !'} }, { '25': {'start': 0, 'duration': 24, 'compliments': 'С католическим рождеством !'} } ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } function getActualCompliments() { var now = new Date( "2 May 2021 00:00:00:001" ); // кат.пасха "4 April 2021 00:00:00:000", прав.пасха "2 May 2021 00:00:00:000", радуница "11 May 2021 00:00:00:000", троица "20 June 2021 00:00:00:000" var result = holidays.filter(v => { var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); var durms = v.duration * 3600000; console.log(now, currentDate, (now - currentDate) / 3600000); var rg = now - currentDate; return rg <= durms && rg >= 0; }).map(v => v.compliments); var caholic = catholicDate(now.getFullYear()); var ortodox = orthodoxDate(now.getFullYear()); if (caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate()) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate()) result.push("С православной пасхой!"); var radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate()) result.push("С радуницей !"); var trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if (trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate()) result.push("С троицей!"); return result; } var actualCompliments = getActualCompliments(); console.log(actualCompliments); if (actualCompliments.length > 0) { var hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { var div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } function foo(month, day, compliment, hour = 0) { return { month: month, day: day, hour: hour, compliment: compliment } } var now9 = new Date(); now9.setDate(now9.getDate() + 9); console.log(now9); var now49 = new Date(); now49.setDate(now49.getDate() + 49); console.log(now49); d = new Date( "2 May 2021 00:00:00:001" ); // d = new Date( "9 May 2021 00:00:00:001" ) if((m = holidays[d.getMonth()]) && m[d.getDate()]) { m = m[d.getDate()]; if(d.getHours()>=m.start) { var h = document.getElementById("holiday"); // if (!b) { b = document.createElement("div"); b.id = "holiday"; b.innerHTML = m.compliments; b.style.display = "block"; h.appendChild(b); } } </script> <div id="footer"></div> </body> </html> Так есть два поздравления, а третье (строка 50) где-то потерялось... и как сделать чтобы все три поздравления были в отдельных спанах, внутри дива, с соответствующими классами? другими словами присвоить поздравлению с пасхой, класс госпраздника (public_holiday) ? |
Я не совсем понимаю, что и как там должно работать?
Что такое var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); В v нет таких полей. |
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0,0%,90%); border: 1px solid hsl(0,0%,50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340,100%,50%); } .holiday { color: hsl(210,100%,50%); } .birthday { color: hsl(120,100%,25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"> </div> <script> var holidays = [ { '1': {'start': 0, 'duration': 24, 'compliments': 'С новым годом !'}, '7': {'start': 0, 'duration': 24, 'compliments': 'С рождеством !'} }, { '23': {'start': 0, 'duration': 24, 'compliments': 'С 23 февраля !'} }, { '8': {'start': 0, 'duration': 24, 'compliments': 'С 8 марта !'} }, { '12': {'start': 0, 'duration': 24, 'compliments': 'С днём космонавтики !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 мая !'}, '2': {'start': 0, 'duration': 24, 'compliments': '<span class="birthday">С ДНЮХОЙ !</span>'}, '2': {'start': 0, 'duration': 24, 'compliments': '<span class="holiday">С 2 мая !</span>'}, '9': {'start': 0, 'duration': 24, 'compliments': 'С 9 мая !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': 'С 1 июня, Всемирным днём родителей !'} }, { '3': {'start': 0, 'duration': 24, 'compliments': '3 июля, день независимости Республики Беларусь !'} }, { '12': {'start': 0, 'duration': 24, 'compliments': '12 августа международный день молодёжи !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': '1 сентября, день знаний !'} }, { '1': {'start': 0, 'duration': 24, 'compliments': '1 октября, международный день пожилых людей !'} }, { '7': {'start': 0, 'duration': 24, 'compliments': '7 ноября, день октябрьской революции !'} }, { '25': {'start': 0, 'duration': 24, 'compliments': 'С католическим рождеством !'} } ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } function getActualCompliments() { var now = new Date( "2 May 2021 00:00:00:001" ); // кат.пасха "4 April 2021 00:00:00:000", прав.пасха "2 May 2021 00:00:00:000", радуница "11 May 2021 00:00:00:000", троица "20 June 2021 00:00:00:000" var result = holidays.filter(v => { var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); var durms = v.duration * 3600000; console.log(now, currentDate, (now - currentDate) / 3600000); var rg = now - currentDate; return rg <= durms && rg >= 0; }).map(v => v.compliments); var caholic = catholicDate(now.getFullYear()); var ortodox = orthodoxDate(now.getFullYear()); if (caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate()) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate()) result.push("<span class='public_holiday'>С православной пасхой!</span>"); var radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate()) result.push("С радуницей !"); var trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if (trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate()) result.push("С троицей!"); return result; } var actualCompliments = getActualCompliments(); console.log(actualCompliments); if (actualCompliments.length > 0) { var hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { var div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } function foo(month, day, compliment, hour = 0) { return { month: month, day: day, hour: hour, compliment: compliment } } var now9 = new Date(); now9.setDate(now9.getDate() + 9); console.log(now9); var now49 = new Date(); now49.setDate(now49.getDate() + 49); console.log(now49); d = new Date( "2 May 2021 00:00:00:001" ); // d = new Date( "9 May 2021 00:00:00:001" ) if((m = holidays[d.getMonth()]) && m[d.getDate()]) { m = m[d.getDate()]; if(d.getHours()>=m.start) { var h = document.getElementById("holiday"); // if (!b) { b = document.createElement("div"); b.id = "holiday"; b.innerHTML = m.compliments; b.style.display = "block"; h.appendChild(b); } } </script> <div id="footer"></div> </body> </html> как исправить строки 38-67, чтобы поздравление с днюхой не затиралось поздравлением с 2 мая, чтобы на странице были все три поздравления и с пасхой, и с 2 мая и с днюхой? |
Зачем вы поставили console.log в строке 110?
А если поставили, то почему не смотрите, что там выдается? (Если уж взялись писать программы, так учитесь. Подсказать можно, но писать за вас влом.) |
111 var rg = now - currentDate;
Где вы та лихо научились даты вычитать? |
Цитата:
|
Цитата:
|
Цитата:
Вы так и не ответили на мои простые вопросы Цитата:
Цитата:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0, 0%, 90%); border: 1px solid hsl(0, 0%, 50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340, 100%, 50%); } .holiday { color: hsl(210, 100%, 50%); } .birthday { color: hsl(120, 100%, 25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"></div> <script> var holidays = [ { 1: { start: 0, duration: 24, compliments: "С новым годом !" }, 7: { start: 0, duration: 24, compliments: "С рождеством !" }, }, { 23: { start: 0, duration: 24, compliments: "С 23 февраля !" }, }, { 8: { start: 0, duration: 24, compliments: "С 8 марта !" }, }, { 12: { start: 0, duration: 24, compliments: "С днём космонавтики !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 мая !" }, 2: { start: 0, duration: 24, compliments: [ '<span class="birthday">С ДНЮХОЙ !</span>', '<span class="holiday">С 2 мая !</span>', ], }, // '2': {'start': 0, 'duration': 24, 'compliments': '<span class="holiday">С 2 мая !</span>'}, 9: { start: 0, duration: 24, compliments: "С 9 мая !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 июня, Всемирным днём родителей !", }, }, { 3: { start: 0, duration: 24, compliments: "3 июля, день независимости Республики Беларусь !", }, }, { 12: {start: 0, duration: 24, compliments: "12 августа международный день молодёжи !", }, }, { 1: { start: 0, duration: 24, compliments: "1 сентября, день знаний !" }, }, { 1: { start: 0, duration: 24, compliments: "1 октября, международный день пожилых людей !", }, }, { 7: { start: 0, duration: 24, compliments: "7 ноября, день октябрьской революции !", }, }, { 25: { start: 0, duration: 24, compliments: "С католическим рождеством !" }, }, ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } const today = new Date("2 May 2021 00:00:00:001"); // d = new Date( "9 May 2021 00:00:00:001" ) function getActualCompliments(now) { // var now = new Date( "2 May 2021 00:00:00:001" ); // кат.пасха "4 April 2021 00:00:00:000", прав.пасха "2 May 2021 00:00:00:000", радуница "11 May 2021 00:00:00:000", троица "20 June 2021 00:00:00:000" /* var result = holidays.filter(v => { var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); var durms = v.duration * 3600000; console.log(now, currentDate, (now - currentDate) / 3600000); var rg = now - currentDate; return rg <= durms && rg >= 0; }).map(v => v.compliments); */ const result = []; holidays.forEach((vm, month) => { for (const day in vm) { const hld = vm[day]; const currentDate = new Date(now.getFullYear(), month, +day, +hld.start); const rg = now.getTime() - currentDate.getTime(); if (0 <= rg && rg < hld.duration * 3600000) { let compl = hld.compliments; if (!Array.isArray(compl)) compl = [compl]; result.push(...compl); } } }); const caholic = catholicDate(now.getFullYear()); const ortodox = orthodoxDate(now.getFullYear()); if ( caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate() ) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate() ) result.push("<span class='public_holiday'>С православной пасхой!</span>"); const radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate() ) result.push("С радуницей !"); const trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if ( trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate() ) result.push("С троицей!"); return result; } const actualCompliments = getActualCompliments(today); console.log(actualCompliments); if (actualCompliments.length > 0) { const hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } /* Что ниже, я не понимаю function foo(month, day, compliment, hour = 0) { return { month: month, day: day, hour: hour, compliment: compliment }; } var now9 = new Date(); now9.setDate(now9.getDate() + 9); console.log(now9); var now49 = new Date(); now49.setDate(now49.getDate() + 49); console.log(now49); if ((m = holidays[d.getMonth()]) && m[d.getDate()]) { m = m[d.getDate()]; if (d.getHours() >= m.start) { var h = document.getElementById("holiday"); // if (!b) { b = document.createElement("div"); b.id = "holiday"; b.innerHTML = m.compliments; b.style.display = "block"; h.appendChild(b); } } */ </script> <div id="footer"></div> </body> </html> |
Цитата:
но судя по всему строки 179-185, это расчёт дат радуницы (+9 дней) и троицы (+49 дней к пасхе) ......... |
voraa,
спс, всё вроде бы работает, но возникают вопросы, 1.) а что делать если вдруг старт и/или продолжительность у событий разная... 2.) а как правильно сделать, если вдруг в одном месяце из двенадцати, нет событий(праздников)... 3.) возможно ли отсортировать все события за день, чтобы сначала шли спаны с классом 'public_holiday', вторыми с классом 'holiday', и последними с классом 'birthday' ? |
Цитата:
2: [ { start: 6, duration: 24*7-6, compliments: '<span class="birthday">С ДНЮХОЙ !</span>'}, { start: 0, duration: 24, compliments: '<span class="holiday">С 2 мая !</span>'} ], Ну и программу тогда тоже подправить Цитата:
Цитата:
Тогда строки 167-171 так for (const cl of ['public_holiday', 'holiday', 'birthday']) { for (var c of actualCompliments) { if (c.indexof('class="'+cl+'"') { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } } |
Цитата:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <style> .holiday { text-align: center; } </style> </head> <body> <script> var holidays = { '5': { '2': {'start': 0, 'duration': 24, 'compliments': 'С 2 мая'}, '2': {'start': 0, 'duration': 24, 'compliments': 'С днюхой!'} } }, d = new Date( "2 May 2021"), m; if((m = holidays[d.getMonth()+1]) && m[d.getDate()]) { m = m[d.getDate()]; if(d.getHours()>=m.start) { var b = document.createElement('div'); b.className = 'holiday'; b.innerHTML = m.compliments; document.querySelector('body').appendChild(b) } } </script> </body> </html> |
Цитата:
|
Цитата:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0, 0%, 90%); border: 1px solid hsl(0, 0%, 50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340, 100%, 50%); } .holiday { color: hsl(210, 100%, 50%); } .birthday { color: hsl(120, 100%, 25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"></div> <script> var holidays = [ { 1: { start: 0, duration: 24, compliments: "С новым годом !" }, 7: { start: 0, duration: 24, compliments: "С рождеством !" }, }, { 23: { start: 0, duration: 24, compliments: "С 23 февраля !" }, }, { 8: { start: 0, duration: 24, compliments: "С 8 марта !" }, }, { 12: { start: 0, duration: 24, compliments: "С днём космонавтики !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 мая !" }, 2: { start: 0, duration: 24, compliments: [ '<span class="birthday">С ДНЮХОЙ !</span>', '<span class="holiday">С 2 мая !</span>', ], }, // '2': {'start': 0, 'duration': 24, 'compliments': '<span class="holiday">С 2 мая !</span>'}, 9: { start: 0, duration: 24, compliments: "С 9 мая !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 июня, Всемирным днём родителей !", }, }, { 3: { start: 0, duration: 24, compliments: "3 июля, день независимости Республики Беларусь !", }, }, { 12: {start: 0, duration: 24, compliments: "12 августа международный день молодёжи !", }, }, { 1: { start: 0, duration: 24, compliments: "1 сентября, день знаний !" }, }, { 1: { start: 0, duration: 24, compliments: "1 октября, международный день пожилых людей !", }, }, { 7: { start: 0, duration: 24, compliments: "7 ноября, день октябрьской революции !", }, }, { 25: { start: 0, duration: 24, compliments: "С католическим рождеством !" }, }, ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } const today = new Date("2 May 2021 00:00:00:001"); // d = new Date( "9 May 2021 00:00:00:001" ) function getActualCompliments(now) { // var now = new Date( "2 May 2021 00:00:00:001" ); // кат.пасха "4 April 2021 00:00:00:000", прав.пасха "2 May 2021 00:00:00:000", радуница "11 May 2021 00:00:00:000", троица "20 June 2021 00:00:00:000" /* var result = holidays.filter(v => { var currentDate = new Date(now.getFullYear(), v.month - 1, v.day, v.hour); var durms = v.duration * 3600000; console.log(now, currentDate, (now - currentDate) / 3600000); var rg = now - currentDate; return rg <= durms && rg >= 0; }).map(v => v.compliments); */ const result = []; holidays.forEach((vm, month) => { for (const day in vm) { const hld = vm[day]; const currentDate = new Date(now.getFullYear(), month, +day, +hld.start); const rg = now.getTime() - currentDate.getTime(); if (0 <= rg && rg < hld.duration * 3600000) { let compl = hld.compliments; if (!Array.isArray(compl)) compl = [compl]; result.push(...compl); } } }); const caholic = catholicDate(now.getFullYear()); const ortodox = orthodoxDate(now.getFullYear()); if ( caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate() ) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate() ) result.push("<span class='public_holiday'>С православной пасхой!</span>"); const radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate() ) result.push("С радуницей !"); const trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if ( trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate() ) result.push("С троицей!"); return result; } const actualCompliments = getActualCompliments(today); console.log(actualCompliments); if (actualCompliments.length > 0) { const hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (const cl of ['public_holiday', 'holiday', 'birthday']) { for (var c of actualCompliments) { if (c.indexof('class="'+cl+'"') { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } } </script> <div id="footer"></div> </body> </html> хз, что не так... |
Цитата:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0, 0%, 90%); border: 1px solid hsl(0, 0%, 50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340, 100%, 50%); } .holiday { color: hsl(210, 100%, 50%); } .birthday { color: hsl(120, 100%, 25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"></div> <script> var holidays = [ { 1: { start: 0, duration: 24, compliments: "С новым годом !" }, 7: { start: 0, duration: 24, compliments: "С рождеством !" }, }, { 23: { start: 0, duration: 24, compliments: "С 23 февраля !" }, }, { 8: { start: 0, duration: 24, compliments: "С 8 марта !" }, }, { 12: { start: 0, duration: 24, compliments: "С днём космонавтики !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 мая !" }, 2: [ { start: 6, duration: 24*7-6, compliments: '<span class="birthday">С ДНЮХОЙ !</span>'}, { start: 0, duration: 24, compliments: '<span class="holiday">С 2 мая !</span>'} ], 9: { start: 0, duration: 24, compliments: "С 9 мая !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 июня, Всемирным днём родителей !", }, }, { 3: { start: 0, duration: 24, compliments: "3 июля, день независимости Республики Беларусь !", }, }, { 12: {start: 0, duration: 24, compliments: "12 августа международный день молодёжи !", }, }, { 1: { start: 0, duration: 24, compliments: "1 сентября, день знаний !" }, }, { 1: { start: 0, duration: 24, compliments: "1 октября, международный день пожилых людей !", }, }, { 7: { start: 0, duration: 24, compliments: "7 ноября, день октябрьской революции !", }, }, { 25: { start: 0, duration: 24, compliments: "С католическим рождеством !" }, }, ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } const today = new Date("2 May 2021 00:00:00:001"); // d = new Date( "9 May 2021 00:00:00:001" ) function getActualCompliments(now) { const result = []; holidays.forEach((vm, month) => { for (const day in vm) { const hld = vm[day]; const currentDate = new Date(now.getFullYear(), month, +day, +hld.start); const rg = now.getTime() - currentDate.getTime(); if (0 <= rg && rg < hld.duration * 3600000) { let compl = hld.compliments; if (!Array.isArray(compl)) compl = [compl]; result.push(...compl); } } }); const caholic = catholicDate(now.getFullYear()); const ortodox = orthodoxDate(now.getFullYear()); if ( caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate() ) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate() ) result.push("<span class='public_holiday'>С православной пасхой!</span>"); const radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate() ) result.push("С радуницей !"); const trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if ( trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate() ) result.push("С троицей!"); return result; } const actualCompliments = getActualCompliments(today); console.log(actualCompliments); if (actualCompliments.length > 0) { const hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } </script> <div id="footer"></div> </body> </html> |
народ, вы специально меня игнорите?
второй день трахаюсь с этим скриптом, пробую упорядочить спаны в нужном порядке, вообще пустой див появляется... пробую сделать массив праздников для 2 мая, только одно поздравление с пасхой появляется, честно сказать йа ужо заебалась пробовать разные варианты, старым дедовским способом - методом тыка... Спасайте, помогите кто чем может... |
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0, 0%, 90%); border: 1px solid hsl(0, 0%, 50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340, 100%, 50%); } .holiday { color: hsl(210, 100%, 50%); } .birthday { color: hsl(120, 100%, 25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"></div> <script> var holidays = [ { 1: { start: 0, duration: 24, compliments: "С новым годом !" }, 7: { start: 0, duration: 24, compliments: "С рождеством !" }, }, { 23: { start: 0, duration: 24, compliments: "С 23 февраля !" }, }, { 8: { start: 0, duration: 24, compliments: "С 8 марта !" }, }, { 12: { start: 0, duration: 24, compliments: "С днём космонавтики !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 мая !" }, 2: [ { start: 6, duration: 24*7-6, compliments: '<span class="birthday">С ДНЮХОЙ !</span>'}, { start: 0, duration: 24, compliments: '<span class="holiday">С 2 мая !</span>'} ], 9: { start: 0, duration: 24, compliments: "С 9 мая !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 июня, Всемирным днём родителей !", }, }, { 3: { start: 0, duration: 24, compliments: "3 июля, день независимости Республики Беларусь !", }, }, { 12: {start: 0, duration: 24, compliments: "12 августа международный день молодёжи !", }, }, { 1: { start: 0, duration: 24, compliments: "1 сентября, день знаний !" }, }, { 1: { start: 0, duration: 24, compliments: "1 октября, международный день пожилых людей !", }, }, { 7: { start: 0, duration: 24, compliments: "7 ноября, день октябрьской революции !", }, }, { 25: { start: 0, duration: 24, compliments: "С католическим рождеством !" }, }, ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } const today = new Date("2 May 2021 07:00:00:001"); // d = new Date( "9 May 2021 00:00:00:001" ) function getActualCompliments(now) { const result = []; holidays.forEach((vm, month) => { for (const day in vm) { let hlds = vm[day]; if (! Array.isArray(hlds)) hlds = [hlds]; for (const hld of hlds) { const currentDate = new Date(now.getFullYear(), month, +day, +hld.start); const rg = now.getTime() - currentDate.getTime(); if (0 <= rg && rg < hld.duration * 3600000) { result.push(hld.compliments); } } } }); const caholic = catholicDate(now.getFullYear()); const ortodox = orthodoxDate(now.getFullYear()); if ( caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate() ) result.push("С католической пасхой!"); if (ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate() ) result.push("<span class='public_holiday'>С православной пасхой!</span>"); const radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if (radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate() ) result.push("С радуницей !"); const trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if ( trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate() ) result.push("С троицей!"); return result; } const actualCompliments = getActualCompliments(today); console.log(actualCompliments); if (actualCompliments.length > 0) { const hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (var c of actualCompliments) { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } </script> <div id="footer"></div> </body> </html> |
Цитата:
Я вот никогда не возьмусь, например, чинить автомобиль или штукатурить стены. От этого только хуже станет. Потому, что не умею и учиться не хочу. |
Цитата:
|
voraa,
йа понимаю, ты спецои показал что сделать то что мне надо возможно, показал половину скрипта, а помочь исправить массив для 2 мая, и сделать сортировку спанов, не хочешь чисто для того чтоб поиздеваться над блондинкой... |
Я написал массив для 2 мая и написал, как сделать сортировку
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 0; } #holiday { display: none; background: hsl(0, 0%, 90%); border: 1px solid hsl(0, 0%, 50%); border-radius: 12px/9px; } .public_holiday { color: hsl(340, 100%, 50%); } .holiday { color: hsl(210, 100%, 50%); } .birthday { color: hsl(120, 100%, 25%); } #holiday, .public_holiday, .holiday, .birthday { display: block; font: bold 24px/20px serif; text-align: center; padding: 15px 20px; } </style> </head> <body> <div id="header"> <div id="logo"></div> <div id="block_time-data"></div> </div> <div id="holiday"></div> <script> var holidays = [ { 1: { start: 0, duration: 24, compliments: "С новым годом !", }, 7: { start: 0, duration: 24, compliments: "С рождеством !", }, }, { 23: { start: 0, duration: 24, compliments: "С 23 февраля !", }, }, { 8: { start: 0, duration: 24, compliments: "С 8 марта !" }, }, { 12: { start: 0, duration: 24, compliments: "С днём космонавтики !", }, }, { 1: { start: 0, duration: 24, compliments: "С 1 мая !" }, 2: [ // Если праздников несколько, то в массив // Строка class="***" должна задаваться в ", а не в ' { start: 6, duration: 24 * 7 - 6, compliments: '<span class="birthday">С ДНЮХОЙ !</span>', }, { start: 0, duration: 24, compliments: '<span class="holiday">С 2 мая !</span>', }, ], 9: { start: 0, duration: 24, compliments: "С 9 мая !" }, }, { 1: { start: 0, duration: 24, compliments: "С 1 июня, Всемирным днём родителей !", }, }, { 3: { start: 0, duration: 24, compliments: "3 июля, день независимости Республики Беларусь !", }, }, { 12: { start: 0, duration: 24, compliments: "12 августа международный день молодёжи !", }, }, { 1: { start: 0, duration: 24, compliments: "1 сентября, день знаний !", }, }, { 1: { start: 0, duration: 24, compliments: "1 октября, международный день пожилых людей !", }, }, { 7: { start: 0, duration: 24, compliments: "7 ноября, день октябрьской революции !", }, }, { 25: { start: 0, duration: 24, compliments: "С католическим рождеством !", }, }, ]; function catholicDate(year) { var a = year % 19; var b = year % 4; var c = year % 7; var k = Math.floor(year / 100); var p = Math.floor((13 + 8 * k) / 25); var q = Math.floor(k / 4); var m = (15 - p + k - q) % 30; var n = (4 + k - q) % 7; var d = (19 * a + m) % 30; var e = (2 * b + 4 * c + 6 * d + n) % 7; if (d === 29 && e === 6) return new Date(year, 3, 19); 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) { var a = year % 19; var b = year % 4; var c = year % 7; var d = (19 * a + 15) % 30; var e = (2 * b + 4 * c + 6 * d + 6) % 7; var f = d + e; return f <= 26 ? new Date(year, 3, 4 + f) : new Date(year, 4, f - 26); } const today = new Date("2 May 2021 07:00:00:001"); // d = new Date( "9 May 2021 00:00:00:001" ) function getActualCompliments(now) { const result = []; holidays.forEach((vm, month) => { for (const day in vm) { let hlds = vm[day]; if (!Array.isArray(hlds)) hlds = [hlds]; for (const hld of hlds) { const currentDate = new Date( now.getFullYear(), month, +day, +hld.start ); const rg = now.getTime() - currentDate.getTime(); if (0 <= rg && rg < hld.duration * 3600000) { result.push(hld.compliments); } } } }); const caholic = catholicDate(now.getFullYear()); const ortodox = orthodoxDate(now.getFullYear()); if ( caholic.getMonth() == now.getMonth() && caholic.getDate() == now.getDate() ) result.push("С католической пасхой!"); if ( ortodox.getMonth() == now.getMonth() && ortodox.getDate() == now.getDate() ) result.push( // Строка class="***" должна задаваться в ", а не в ' '<span class="public_holiday">С православной пасхой!</span>' ); const radunitsa = new Date(ortodox); radunitsa.setDate(radunitsa.getDate() + 9); if ( radunitsa.getMonth() == now.getMonth() && radunitsa.getDate() == now.getDate() ) result.push("С радуницей !"); const trinity = new Date(ortodox); trinity.setDate(trinity.getDate() + 49); if ( trinity.getMonth() == now.getMonth() && trinity.getDate() == now.getDate() ) result.push("С троицей!"); return result; } const actualCompliments = getActualCompliments(today); console.log(actualCompliments); if (actualCompliments.length > 0) { const hollyday = document.getElementById("holiday"); hollyday.style.display = "block"; for (const cl of ["public_holiday", "holiday", "birthday"]) { for (const c of actualCompliments) { if (c.indexOf('class="' + cl + '"')>=0) { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; } } } /* for (var c of actualCompliments) { const div = document.createElement("div"); hollyday.appendChild(div); div.innerHTML = c; }*/ } </script> <div id="footer"></div> </body> </html> |
voraa,
вот сейчас всё работает на отлично, благодарю... |
народ, в году есть несколько событий (праздников) которые отмечают не конкретного числа, а в определённый день недели конкретного месяца, например третий вторник октября, или второй понедельник апреля и тд
или отсчёт может идти с конца месяца, например последняя суббота сентября, или предпоследняя пятница февраля, (в месяце ведь может быть и 4 и 5 дней недели) Вопрос такой, как высчитывать дату в этих обоих случаях? каким именно способом определить число(дату)? посоветовали что-то типа такого добавить... const holiday = { month: 6, //месяц праздника day: 7, //номер дня недели number: -1 // номер недели — отрицательный индекс означает что счёт ведётся с конца }; //День Военно-морского флота function getDate(date, year) { const d = new Date(); d.setFullYear(year); d.setMonth(holiday.month, 1); const firstDay = 1 + holiday.day + (d.getDay() < holiday.day ? -d.getDay() : 7 - d.getDay()); const days = [firstDay]; let day = firstDay; while ( new Date(year, holiday.month, (day += 7)).getMonth() == holiday.month ) { days.push(day); } const index = (holiday.number < 0 ? days.length : 0) + holiday.number; //return days[index]; return new Date(year, holiday.month, days[index]).toLocaleString(); } console.log(getDate(holiday, 2022)); народ, помогите добавить несколько подобных событий в этот скрипт... |
никто не знает?
|
Часовой пояс GMT +3, время: 18:31. |