Как получить правильный месяц в javascript. Я не хочу использовать для этого плагин.
var date = new Date();
var month = date.getMonth();
// value is 06 current month;
var month = date.getMonth() + 15;
// now value is 21
Здесь, если значение getMonth() более 12 означает, как я могу получить правильный месяц. Если более 12 означает, что мне тоже нужно увеличить год.
Например,
// assume current month December
var month = date.getMonth()+3; // value is 14
Я хочу показать месяц как "03" (МАРТ). Пожалуйста, помогите мне, как я могу это сделать
Сделайте с помощью %12
.it вычитает месяц с 12. Повторение будет показано на
Примечание. Помните, что значение месяца начинается с 0 0=January
var date = new Date();
var month = date.getMonth();
console.log('default month value ='+month)
month = (date.getMonth() + 15) % 12;
console.log(month)
var date = new Date();
var month = date.getMonth();
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var month = date.getMonth() + 15;
var result = new Date(date.getYear(),month,date.getDay()).getMonth();
console.log(result, monthNames[result]);
Вы можете установить месяц, в результате чего он также изменит год:
var date=new Date();
alert(date+"");
date.setMonth(date.getMonth() + 15);
alert(date+"");
Двигатель js уже заботится о переполнении месяца...
Кажется, что каждый ответ неверен.
date.getMonth()
возвращает целочисленный эквивалент месяца, основанный на нуле, поэтому new Date().getMonth()
возвращает 5, а не 6. Таким образом, month + 15
= 20, а не 21.
с июня мы добавляем 15 месяцев:
1. July
2. August
3. Sept
4. Oct
5. Nov
6. Dec
7. Jan
8 Feb
9 Mar
10 Apr
11 May
12 June
13 July
14 Aug
15 Sept
Итак, это сентябрь, а не август !!!
var date = new Date(),
monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var month = date.getMonth(); //current month is 5, 0 based. january = 0, feb = 2, .... dec = 11
//console.log(month);
month = date.getMonth() + 15; //value becomes 20, not 21
//console.log(month);
var newDT = new Date(date.getFullYear(), month, date.getDate());
console.log("today date is:" + date.getDate());
var newMonth = newDT.getMonth();
console.log("Current month plus 15 months is " + (newMonth + 1));
console.log("Month name is " + monthNames[newMonth]); //don't need to add 1 since our monthNames is zero-based