2016-12-19 126 views
1

我正在使用Scala Play框架,并且我有一个让用户搜索记录的表单,然后他们可以使用今天的日期和时间戳2016-12-17T09:26:47.676Z进行搜索以创建搜索范围。请注意,我的意思是一个24小时的时间段,因为通常定义一天,而不是日期定义中的差异。Javascript将当前日期与时间戳进行比较

我对Javascript没有任何经验,我想比较今天的日期与这个时间戳,计算天数的差异,然后返回两个时间戳之间的整个days的数量,例如,如果两个时间戳有48小时的差异,那么它将返回2天。

我可以在HTML页面的script标记中声明搜索时间戳,但是我想知道如何调用今天的日期,做一些逻辑来计算日期DaysDifference之间的差异,然后在这个变量中调用这个变量页面上的链接:

<a target="_blank" href="@baseLogsUrl/#/discover?_g=(time:(from:[email protected]/d,to:now))&_a=(query:(query_string:(query:'@data._id')))">

+0

重复的[*我如何在JavaScript天两个日期之间的*?](http://stackoverflow.com/questions/542938/how-do-i-get-the - 值 - 的 - 天两日期式的JavaScript间)?你应该定义一天是什么:24小时的时间或更改的日期? – RobG

回答

3

可以计算出当前的日期和使用日期API这样的时间戳的差别:Date.now() - Date.parse('2016-12-17T09:26:47.676Z')。这将以毫秒为单位返回差值,因此我们可以将答案除以一天中的毫秒数以获得以天为单位的差异。总结:

var MS_IN_A_DAY = 1000 * 60 * 60 * 24; 
var difference = Date.now() - Date.parse('2016-12-17T09:26:47.676Z'); 
var daysDifference = Math.floor(difference/MS_IN_A_DAY); 
+1

创建Date对象并将小时归零可能会很好。在观察夏令时的地方,有24小时甚至更短的时间。另外,从一天的23:50到00:15,第二天可能需要一天(或不需要)。 – RobG

相关问题