меню

Попалась интересная задачка, на баннере нужно было выводить «Акция действует до (тут последний день месяца)», решил сделать это на Javascript, ну чтоб не лазить каждый раз в код для правок, вот что получилось

 
var date = new Date();
var lastDayDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);
var lastDay = lastDayDate.toLocaleString('RU', {day: 'numeric'});
var monthes = ['ЯНВАРЯ','ФЕВРАЛЯ','МАРТА', 'АПРЕЛЯ','МАЯ','ИЮНЯ','ИЮЛЯ', 'АВГУСТА', 'СЕНТЯБРЯ', 'ОКТЯБРЯ', 'НОЯБРЯ', 'ДЕКАБРЯ'];
var result = lastDay+' '+monthes[date.getMonth()];
document.write(result);
 

Самая важная строка в коде, это строка номер 2, в ней создается нужный нам объект даты через конструктор в нем используется текущий год, следующий месяц, и нулевой день. Т.к нулевого дня не существует, то JS сдвигает дату на 1 день назад и мы получаем последний день текущего месяца.

В следующей строке форматируем вывод — оставляем вывод только дня, потому что JS выводит месяц в именительном падеже, т.е на баннере будет «ДО 31 ЯНВАРЬ СКИДКА 10%», что выглядит косячно, и именно по этом чуть ниже есть массив месяцев в родительном падеже.

Затем клеим нужный результат в одну переменную и выводим.

Например, в моем случае, нужно было выводить в элемент с классом «lastday», то

  
var el = document.getElementsByClassName("lastday");  // Find the elements

for(var i = 0; i < el.length; i++){
 el[i].innerText=result;    // write text
}
 

Если нужен еще и год, то меняем 5 строку так

 
var result = lastDay+' '+monthes[date.getMonth()]+' '+date.getFullYear();
 

Полный код Вывод последнего дня текущего месяца на Javascript

  
<!DOCTYPE html>
<html>
<head>
  <title>Вывод последнего дня текущего месяца на Javascript</title>
</head>
<body>

  <div>Скидка на апельсины до <span class="lastday"></span></div>
 <div>Скидка на лимоны до <span class="lastday"></span></div>

  <script type="text/javascript">
    var date = new Date();
    var lastDayDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);
   var lastDay = lastDayDate.toLocaleString('ru', {day: 'numeric'});
   var monthеs = ['ЯНВАРЯ','ФЕВРАЛЯ','МАРТА', 'АПРЕЛЯ','МАЯ','ИЮНЯ','ИЮЛЯ', 'АВГУСТА', 'СЕНТЯБРЯ', 'ОКТЯБРЯ', 'НОЯБРЯ', 'ДЕКАБРЯ'];
    var result = lastDay+' '+monthеs[date.getMonth()];
    var resultyear = lastDay+' '+monthеs[date.getMonth()]+' '+date.getFullYear();

   var el =document.getElementsByClassName("lastday");  // Find the elements

   for(var i = 0; i < el.length; i++){
     el[i].innerText=result;    // write text
    }

   //  document.write(result);
   //  document.write('<br>');
    //  document.write(resultyear);  
 </script>
</body>
</html>
  
Помощь сайту
ЮMoney:
4100 1180 7209 833
Карта Сбербанк:
2202 2080 6183 7127

Возможно, вам будет интересно

Вывод последнего дня текущего месяца на Javascript

Попалась интересная задачка, на баннере нужно было выводить «Акция действует до (тут последний день месяца)», решил сделать это на Javascript, ну чтоб не лазить каждый раз в код для правок, вот что получилось

Javascript array шпаргалка

Переменные в Javascript позволяют хранить только одни данные за раз. Однако, учитывая, что часто бывает полезно манипулировать большим количеством данных, концепции переменной иногда недостаточно, потому что становится трудно управлять большим количеством различных переменных.

Вырезаем изображение с помощью jQuery и PHP

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

Сравнение методов require() и import() в JavaScript

Методы require() и import() в JavaScript используются для включения модулей. У них есть несколько важных особенностей, о которых должен знать каждый разработчик.