Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод названия месяца (https://javascript.ru/forum/misc/65647-vyvod-nazvaniya-mesyaca.html)

Win_D 31.10.2016 15:04

Вывод названия месяца
 
Всем привет.

Есть следующая конструкция, которая получает текущую дату, прибавляет к ней 10 дней и выводит результат.
var tenDays = 10;
var currentDate = new Date(); //создаём переменную для текущей даты
currentDate.setDate(currentDate.getDate() + tenDays); //прибавляем к текущей дате 10 дней
var dd = currentDate.getDate(); //получаем текущий день
var mm = currentDate.getMonth() + 1; //прибавляем 1, т. к.  месяцы считаются с 0
var yyyy = currentDate.getFullYear(); //получаем год
if(dd<10) {
  dd = '0'+ dd //перед номером дня приписываем "0", чтобы было число "01", "02 и т. д.
}
if(mm<10) {
  mm = '0'+ mm //аналогичная ситуация с номером месяца
} 
currentDate = dd + '.' + mm + '.' + yyyy; //устанавливаем формат и порядок отображения даты
document.write("Дата через 10 дней: " + currentDate); //выводим текст


Пожалуйста, подскажите, как с помощью массива, конструкции switch или иными способами можно вывести не число месяца, а его название (января, февраля, марта и т. д.)?

ksa 31.10.2016 16:00

Цитата:

Сообщение от Win_D
как с помощью массива, конструкции switch или иными способами можно вывести не число месяца, а его название (января, февраля, марта и т. д.)?

Как вариант...

var month=2;
var arr=[
   'Январь',
   'Февраль',
   'Март',
   'Апрель',
   'Май',
   'Июнь',
   'Июль',
   'Август',
   'Сентябрь',
   'Ноябрь',
   'Декабрь',
];
alert(arr[month-1]);

grammidin 09.11.2018 10:31

Цитата:

Сообщение от ksa (Сообщение 433579)
Как вариант...

var month=2;
var arr=[
   'Январь',
   'Февраль',
   'Март',
   'Апрель',
   'Май',
   'Июнь',
   'Июль',
   'Август',
   'Сентябрь',
   'Ноябрь',
   'Декабрь',
];
alert(arr[month-1]);

"Октябрь" пропущен.

grammidin 09.11.2018 10:34

Еще есть такой вариант

new Date().toLocaleString('ru', {        
        month: 'long'        
      });


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

Malleys 09.11.2018 11:04

Цитата:

Сообщение от grammidin
new Date().toLocaleString('ru', { month: 'long' });

Этот вариант более компактный и понятный, легко менять языки!

Цитата:

Сообщение от grammidin
сделать просто массив

Это ужасно! Набирать руками и ещё может
Цитата:

Сообщение от grammidin
"Октябрь" пропущен.

или ещё какая-то ошибка может быть

Плюсую именно за toLocaleString

ksa 09.11.2018 12:08

Цитата:

Сообщение от grammidin
"Октябрь" пропущен.

Ну все... Весь алгоритм псу под хвост! :cray:

grammidin 09.11.2018 16:21

Цитата:

Сообщение от ksa (Сообщение 498182)
Ну все... Весь алгоритм псу под хвост! :cray:

Написал для копипастеров ;)


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