Javascript дата возвращает неправильный месяц, если день 01

Я пытаюсь получить Месяц из строки даты, это прекрасно работает, если день не первый месяц (01). Если день первый, он возвращает предыдущий месяц:

<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the month.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

<script>
function myFunction() {
    var str="2014-12-01"
    var d = new Date(str); 
    var m = d.getMonth()+1;
    document.getElementById("demo").innerHTML = m;
}
</script>

</body>
</html>

Возвращает: 11 Должен вернуться: 12

Если строка даты была 2013-8-01, тогда 7 будет возвращено, тогда как должно быть 8. Без «+1» после «getMonth ()» будет возвращено 6, а не 7.

Ответы на вопрос(3)

Ваш ответ на вопрос