2016-12-19 169 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

相關問題