将日期转换为日期结束

时间:2013-07-30 16:06:07

标签: javascript

我从服务器获得的时间以毫秒为单位。我把它转换为日期并得到 - 2013年7月22日星期一11:16:01 GMT + 0200(欧洲日光时间)作为记录中的日期。

我想将周一,周二等数据分成数组。我想把这个日期转换为2013年7月22日23:59:59 GMT + 0200(欧洲日光时间),然后过滤掉记录。

如何将日期更改为所需的一天结束时间?或者有更简单的方法吗?

5 个答案:

答案 0 :(得分:9)

您始终可以使用现有日期中的年,月和日属性构建新的DateTime对象,如下所示:

var actualDate = new Date(); // 2013-07-30 17:11:00
var endOfDayDate = new Date(actualDate.getFullYear()
                           ,actualDate.getMonth()
                           ,actualDate.getDate()
                           ,23,59,59); // 2013-07-30 23:59:59

答案 1 :(得分:1)

使用http://momentjs.com

var now = new Date().getTime();
var endOfDay = moment(now).endOf("day").toDate(); // Wed Jan 20 2016 23:59:59 GMT-0800 (PST)

答案 2 :(得分:0)

var actualDate = new Date()
var eodDate = new Date(Math.floor(actualDate.getTime()/86400000+1)*86400000 + actualDate .getTimezoneOffset()*60000 - 1000)

其中86400000是一天中的总毫秒数

答案 3 :(得分:0)

对于未来的访问者,只需使用

var start = new Date();
var end = new Date();
start.setHours(0,0,0,0);
end.setHours(23,59,59,999);

答案 4 :(得分:-1)

如果两个日期对象在同一天,则它们具有相同的日期字符串:

new Date('1374488161000').toDateString()
=> "Tue Jul 30 2013"

new Date('13744917610403').toDateString()
=> "Tue Jul 30 2013"

虽然这是比较日子的一种相当天真的方法,但它可能是最简单的比较。