Ставь лайк и смотри, поиск в WeChat【Переезд в мир】Обратите внимание на этого человека, который не имеет большого фабричного прошлого, но имеет восходящий и позитивный настрой. эта статья
GitHub
GitHub.com/QQ449245884…Он был включен, статьи были классифицированы, и многие мои документы и учебные материалы были систематизированы.
Все говорили, что нет проекта для написания резюме, поэтому я помог вам найти проект, и это было с бонусом.【Учебник по строительству】.
Чтобы лучше описать содержание этого раздела, вот совет для JS по работе с датами,Чтобы получить последний день предыдущего месяца, просто установите для параметра SetDate значение 0.
var endDate = new Date();
//上个月最后一天
endDate.setDate(0);
Затем начинается текст:
Чтобы использовать JS для получения последнего дня текущего месяца, наша обычная идея состоит в том, чтобы сначала получить первый день следующего месяца, а затем вычесть один день, который является последним днем текущего месяца, поэтому следующий код естественно использовал:
var date= new Date();
date.setMonth(date.getMonth() + 1);
//日期设置为0号, 0表示1号的前一天
let lastDay = date.setDate(0);
console.log('最后一天:' + new Date(lastDay).toLocaleString())
Дата, когда я написал эту статью,2019.08.21
, поэтому результат печати выглядит следующим образом:
最后一天:2019/8/31 下午4:10:43
Мы не уверены, есть ли баги в таком алгоритме, поэтому, чтобы восстановить сцену, теперь начнем с2019.01.31
попробуй один за другим
var date= new Date(2019, 0, 31); //0 表示1月
date.setMonth(date.getMonth() + 1);
// 日期设置为0号, 0表示1号的前一天
let lastDay = date.setDate(0);
console.log('最后一天:' + new Date(lastDay).toLocaleString())
Распечатать:
最后一天:2019/2/28 上午12:00:00
Мы видим, что мы положили1月31号
Наберите один месяц назад и вычтите один день вперед, вы должны получить1月31号
, что на самом деле получается2月28号
, поэтому код, который мы написали, содержит ошибки.
Что за чертовщина?
Мы можем перечислить месяцы:
1月 1 ....... 28 29 30 31
2月 1 ....... 28
3月 1 ....... 28 29 30 31
мы проходимmonth + 1
, в JS это будет пониматься как:
当前日期 + 当月的天数
Итак, в приведенном выше примереdate.setMonth(date.getMonth() + 1)
Эквивалентно1月31号 + 31天
, согласно приведенному выше списку, вы можете видеть, что результат3月3号
Так что не думайте, что месяц + 1 - это месяц плюс 1, это означает текущую дату плюс количество дней в месяце..
Итак, как мы можем гарантировать, что не будем прыгать еще месяц?
Просто гарантияmonth + 1
не более чем28
Вот так, как ты это делаешь?
Оценивать:
- № 31 + 31 превысит
- № 30 + 31 превысит
- № 29 + 31 превысит
- 28 + 31 или 28 в самый раз
Итак, секрет в том, чтобы положить31
перезвонить28
Этого числа достаточно, поэтому просто добавьте следующее предложение:
date.setDate(28)
Полный код:
var date= new Date(2019, 0, 31); //0 表示1月
date.setDate(28)
date.setMonth(date.getMonth() + 1);
// 日期设置为0号, 0表示1号的前一天
let lastDay = date.setDate(0);
console.log('最后一天:' + new Date(lastDay).toLocaleString())
результат операции:
最后一天:2019/1/31 上午12:00:00
Ошибки, которые могут существовать после развертывания кода, не могут быть известны в режиме реального времени.Чтобы решить эти ошибки впоследствии, много времени тратится на отладку журнала.Кстати, я рекомендую всем полезный инструмент мониторинга ошибок.Fundebug.
общаться с
Статья постоянно обновляется каждую неделю. Вы можете выполнить поиск «Big Move to the World» в WeChat, чтобы прочитать и обновить ее как можно скорее (на одну или две статьи раньше, чем в блоге). Эта статья находится на GitHub.GitHub.com/QQ449245884…Он был включен, и многие мои документы были разобраны. Добро пожаловать в Звезду и совершенство. Вы можете обратиться в тестовый центр для ознакомления во время собеседования. Кроме того, обратите внимание на паблик-аккаунт и ответьте в фоновом режиме.Благосостояние, вы можете увидеть преимущества, вы знаете.