node.js获取一个月的第一天和最后一天
2019-05-28 本文已影响0人
_鸭鸭
今天在一个问题上耽误了很长时间,现在就来讲讲node.js的获取时间的方法。我们在进行数据库查询操作的时候经常会查询某个月的数据,其实很简单:
let newMonth=parseInt(new Date().getMonth())+1; \\获取当前时间的月
let newYear=parseInt(new Date().getFullYear()); \\获取当前时间的年
new Date(newYear,newMonth-1,1).getTime(); \\获取当前月的第一天
new Date(newYear,newMonth,0).getTime(); \\获取当前月的最后一天
new Date(newYear,newMonth,-1).getTime(); \\获取当前月的最后第二天
举个例子:
写这篇博客的今天是5月28日,那么我们就5月的第一天和5月的最后一天,可以直接写:
在node环境下
new Date(newYear,newMonth-1,1).getTime();
console.log结果: 2019-04-30T16:00:00.000Z
new Date(newYear,newMonth,0).getTime();
打印结果:2019-05-30T16:00:00.000Z
看到这个在控制太打印的结果肯定觉得很起怪,不是应该是2019-05-01和2019-05-31的吗?为什么是这个结果
可以 new Date(newYear,newMonth-1,1).toLocaleString();
其实就是 2019-05-01 00:00:00
在浏览器的环境
你输入: new Date(2019,5,0).toLocaleString();
结果 : 2019/5/31 上午12:00:00
你输入: new Date(2019,4,1).toLocaleString();
结果 : 2019/5/1 上午12:00:00
it is all ! ! ! ! ! ! !