为了更好的讲这节的内容,提醒一个 *** 处置日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。
var endDate = new Date(); //上个月最后一天 endDate.setDate(0);
接着正文更先:
使用 *** 获取当前月的最后一天,咱们通常的思绪先获取下个月的之一天,然后在减去一天,就是当前月的最后一天,以是自然会用到下面的代码:
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
那这样的算法有没有bug,咱们并不确定,以是为了还原现场,现在咱们从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号,以是咱们写的代码是有bug的。
这又是怎么肥事?
咱们可以列出月份:
1月 1 ....... 28 29 30 31 2月 1 ....... 28 3月 1 ....... 28 29 30 31
咱们通过 month + 1,在 *** 中会明白成:
当前日期 + 当月的天数
以是上例中的 date.setMonth(date.getMonth() + 1) 等价于 1月31号 + 31天 ,凭据上面的列表,就可以看到效果是3月3号
以是不要以为 month + 1 就是月份加 1,它的意思是当前日期加上当月天数 。
那要怎么保证多了不会多跳一个月呢?
只要保证 month + 1 之前不会跨越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())
运行效果:
本文导读目录: 1、如何远程控制别人的手机摄像头? 2、手机可以控制别人手机摄像头吗? 3、一个手机如何才能远程控制一个手机打开摄像头 4、如何用手机遥控另一台手机摄像头 5、如何远程...
32 很多人对名妓的理解是青楼中的女子,她们犹如别人手中的玩偶。她的一生充满了浓厚的传奇色彩,通过不一样的方式救天下人民于水火,让很多名人志仕都自愧不如。俗话说英雄不论出生,不分男女,更不分高低贵贱...
看一下现阶段的餐馆销售市场,添加特色小吃的确是一个理想化的创业好项目。可是开麻辣烫店应当留意什么难题呢?许多 专业知识会协助你开实体店。使我们追随华飞餐饮连锁加盟总公司的小系列产品,掌握加盟代理一家快...
在《西方善魔女》的CAST中见到了石田彰的名字。这可谓惊鸿一瞥的结果是导致偶索然无味的追了一部片子。虽然只有短短的13集,但是,剧情与人设及其他方面。 2006年4月档预定播出的动画中,荻原规子原作的...
台风“黑格比”在浙江乐清沿海登陆!!登陆时中心附近最大风力有13级。 台风天,大家要谨慎出门! 注意防范措施! 安全第一!...
怎样悄悄微信定Wei别人的手机位置 朋友们好,这是小王苗的生存。微信最壮大。根基生存的方方面面都能够在微信里找到。另有一个功效。若你在一个目生场所和你的身边的人走散了奈何办?咱们能够经历微信找到,只...