【问题标题】:Javascript comparing current date to a timestampJavascript将当前日期与时间戳进行比较
【发布时间】:2017-05-04 11:03:02
【问题描述】:

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

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

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

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

【问题讨论】:

标签: javascript html scala date playframework


【解决方案1】:

您可以使用 Date 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);

【讨论】:

  • 最好创建 Date 对象并将小时数归零。在实行夏令时的情况下,有些日子超过 24 小时,有些则更少。此外,从一天的 23:50 到次日的 00:15 可能需要为一天(或不为一天)。
猜你喜欢
  • 2015-08-06
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多