Как установить значение месяца на основе количества

1

Как получить правильный месяц в 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" (МАРТ). Пожалуйста, помогите мне, как я могу это сделать

Теги:

4 ответа

2

Сделайте с помощью %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)
  • 0
    это не верно. Июнь + 15 месяцев должен быть сентябрь, а не август.
  • 0
    @ GeomanYabes. Да, вы правы.
1

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]);
  • 0
    это не верно. Июнь + 15 месяцев должен быть сентябрь, а не август.
  • 0
    @GeomanYabes обновил мой ответ. Спасибо
Показать ещё 1 комментарий
0

Вы можете установить месяц, в результате чего он также изменит год:

var date=new Date();
alert(date+"");
date.setMonth(date.getMonth() + 15);
alert(date+"");

Двигатель js уже заботится о переполнении месяца...

0

Кажется, что каждый ответ неверен.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню