меню

Попалась интересная задачка, на баннере нужно было выводить «Акция действует до (тут последний день месяца)», решил сделать это на 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>
	

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

Чистый код на JavaScript, 5 рекомендаций которые улучшат Ваш код.

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

Определение платформы устройства на javascript

Определить версию и тип браузера проще всего при помощи JavaScript. JavaScript имеет стандартный объект под названием navigator, который содержит данные о браузере пользователя.

Как отключить ввод текста по переключателю disabled

В данном материале будет представлен самый простой способ включения и отключения ввода информации в текстовое поле INPUT=TEXT с помощью библиотеки jQuery и html атрибута disabled.

Каррирование в JavaScript

В этой статье вы простым языком поймете работу с каррированием в JavaScript и увидите рабочие примеры его применения

Оформление заявки

Документы на создание сайта

Изучите наше коммерческое предложение, заполните БРИФ и отправьте его на почту maxidebox@list.ru. Изучив все пожелания из БРИФ-а, обратным ответом оповестим Вас по стоимости разработке, ответим на вопросы.

КП на создание сайта Коммерческое предложение на созданеи сайта

Мы берем на себя ответственность за все стадии работы и полностью избавляем клиентов от забот и необходимости вникать в тонкости.

Скачать БРИФ (акета) на создание сайта Скачать БРИФ (акета) на создание сайта

Зополните у БРИФ-а все необходимые поля. Сделайте краткое описание к каждому из пунктов анкеты, привидите примеры в соответсвующий пунктах - это позволит лучше понять Ваши ожидания и требования к сайту