Как получить первый и последний день месяца? Проблема со сдвигом временной зоны

449
17 мая 2017, 08:29

Мне нужно получать начало и конец месяца в формате YYYY.MM.DD.HH.MM.SS, формат как пример точности времени.

let dateNow = new Date(); //2017-05-15T17:00:37.982Z
let getYear = dateNow.getFullYear(); //2017
let getMonth = dateNow.getMonth(); //4 т.к. месяцы с нуля то все ок
let startDate = new Date(getYear, getMonth, 1); 
//2017-04-30T21:00:00.000Z идет сдвиг месяца на -1, число 30 вместо 1, часы 21
let stopDate = new Date(getYear, getMonth, 0, 23, 59, 59); 
//2017-04-30T20:59:59.000Z идет сдвиг месяца на -1 часа на -3

Непонятно что с месяцем, почему он стал апрелем и с временем. Читал про UTC, а как быть если пользователи с разных часовых поясов?

Answer 1

может вам подойдет вот это

здесь читаем - работает , а так

var date = new Date(2011, 0, 1, 2, 3, 4, 567); 
console.log( date ); // 1.01.2011, 02:03:04.567

не работает , тоже не понятно

а вот так заработало

var options = { 
	year: 'numeric', 
	month: 'numeric', 
	day: 'numeric', 
	timezone: 'UTC' 
}; 
var startDate = new Date(2017, 4, 1); 
console.log(startDate.toLocaleString("ru", options));

READ ALSO
jQuery: как узнать, в какой textarea находится курсор?

jQuery: как узнать, в какой textarea находится курсор?

Есть несколько <textarea> и наперёд неизвестно, в какой из них будет курсорМожно ли получить jQuery-объект той textarea, в которой на данный момент...

485
Почему не работает условие скрытия?

Почему не работает условие скрытия?

Если сузить экран и нажать наclick-wrapp-curtain то блок

385