2

我从服务器获取时间(以毫秒为单位)。我将其转换为日期并获取 - Mon Jul 22 2013 11:16:01 GMT+0200 (W. Europe Daylight Time) 作为记录中的日期。

我想将星期一、星期二等的数据分成数组。我正在考虑将此日期转换为 Mon Jul 22 2013 23:59:59 GMT+0200 (W. Europe Daylight Time),然后过滤掉记录。

如何将日期更改为所需的一天结束时间?还是有更简单的方法来做到这一点?

4

5 回答 5

17

您总是可以使用现有日期的年、月和日属性构造一个新的 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
于 2013-07-30T16:11:42.550 回答
4

使用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)
于 2016-01-20T22:58:44.837 回答
3

对于未来的访客,只需使用

var start = new Date();
var end = new Date();
start.setHours(0,0,0,0);
end.setHours(23,59,59,999);
于 2021-06-18T15:43:27.513 回答
0
var actualDate = new Date()
var eodDate = new Date(Math.floor(actualDate.getTime()/86400000+1)*86400000 + actualDate .getTimezoneOffset()*60000 - 1000)

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

于 2020-03-11T10:39:59.677 回答
-1

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

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

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

虽然比较天数的方法相当幼稚,但它可能是最简单的比较。

于 2013-07-30T16:11:30.297 回答