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.