2016-11-24 54 views
-1

在我的應用程序中,我正在訪問遠程URL並獲得如下所示的JSON響應。 JSON響應有一個名爲created_at的屬性。如何在JavaScript中計算X天前

在JavaScript中,我需要獲取當前日期減去( - )created_at日期並計算多少天前創建評論。

我該怎麼做?

{ 
    "id":12578834, 
    "title":"Joint R&D Has Its Ups and Downs", 
    "url":"http://semiengineering.com/joint-rd-has-its-ups-and-downs/", 
    "num_points":1, 
    "num_comments":0, 
    "author":"Lind5", 
    "created_at":"9/26/2016 2:28" 
} 
+2

你並不需要一個嚮導 - 你有你需要的一切:'「我需要獲得當前日期減號( - )本created_at日期,計算有多少X天前評論被創建「'。將該英文轉換成JS。 – Shomz

+1

嘗試http://momentjs.com – Mehmet

+0

@Mehmet我懷疑任何人都需要一個簡單的減法庫。 – Shomz

回答

2

您可以創建幾天,然後通過減去today.getTime() - date.getTime()/NumOfMSecInDay來獲得差異。

此外,時間部分可能會導致一些問題,所以最好將其剝離。

var d = { 
 
    "id": 12578834, 
 
    "title": "Joint R&D Has Its Ups and Downs", 
 
    "url": "http://semiengineering.com/joint-rd-has-its-ups-and-downs/", 
 
    "num_points": 1, 
 
    "num_comments": 0, 
 
    "author": "Lind5", 
 
    "created_at": "9/26/2016 2:28" 
 
} 
 

 
var today = new Date(); 
 
var createdOn = new Date(d.created_at); 
 
var msInDay = 24 * 60 * 60 * 1000; 
 

 
createdOn.setHours(0,0,0,0); 
 
today.setHours(0,0,0,0) 
 

 
var diff = (+today - +createdOn)/msInDay 
 
console.log(diff)

+0

我想你不會需要setHours呼籲 – maheshiv

+0

@mplugjan,謝謝並道歉不正確的名字 – Rajesh

+1

@maheshiv如果你的createdon是說'9/26/22016 20:30',你檢查它''11/24/2016 5:30'將產生'58 '和'11/24/2016 21:30'會產生'59'。因此'setHours'是必需的 – Rajesh