Статьи

JavaScript показывает неверный год для даты

Быстрая публикация, чтобы позволить вам новичкам в JavaScript, что при объявлении даты может показываться неправильный год для этой даты. Возможно, вы думаете: «Дата возвращения javascript — более поздняя, ​​я видел 2012 вместо 2011, не так ли?». Рассмотрим следующие примеры:

Итак, дата, которую мы хотим увидеть, — пятница, 15 июля 2011 года.

var todaysDate = new Date();
console.log(todaysDate);
//output: Date {Fri Aug 12 2011 18:45:53 GMT+1000}

var expiryDate = new Date('15/07/2011');
console.log(expiryDate);
//output: Date {Wed Mar 07 2012 00:00:00 GMT+1000}

var expiryDate = new Date('07/15/2011');
console.log(expiryDate);
//output: Date {Fri Jul 15 2011 00:00:00 GMT+1000}

Можете ли вы решить, что происходит? Ну, функция JavaScript getMonth () начинается с 0 для января, 1 для февраля и так далее … (вы должны добавить один!), Но это неправильный год, день все!

Если мы попытаемся проанализировать дату как один аргумент, это также не даст правильных результатов.

 var expiryDate = new Date(2011, 15, 07);
console.log(expiryDate);
//output: Date {Sat Apr 07 2012 00:00:00 GMT+1000}

Но если мы разберем текстовую дату, мы получим правильные результаты! 🙂

 var expiryDate = new Date('July 15, 2011');
console.log(expiryDate);
//output: Date {Fri Jul 15 2011 00:00:00 GMT+1000}

Дата может быть трудной задачей, поэтому, если вы много работаете с датами, я бы предложил использовать библиотеку JavaScript DATE, чтобы управление датами в JavaScript было удачным!

Это также замечательный ресурс для свиданий (очень полный!).