2015-09-27 45 views
-1

我有一些JSON數據創建的時間表示爲張貼:「2015-09-28T17:15:23.633」。我需要在我的Chrome擴展彈出窗口中將其表示爲與「發佈:2秒前」不同的當前時間。從JSON數據轉換爲當前時間差異

當我每次在我的分機上發起一個事件時,我會得到一個如上所述的時間。 我希望用戶看到事件觸發與用戶當前時間的時差。如「幾秒前....../3分鐘前」那樣。 我可以在c#中做到這一點,但有沒有辦法在Java腳本中做到這一點? 任何工作示例或鏈接都會非常有幫助。 在此先感謝。

這是我從例如建議嘗試,但它不顯示任何東西

//My JSON Data 
"postcreated":{ 
    "name":"test", 
    "created":"2015-09-28T17:15:23.633", 
} 

//in my js to show the time difference 

var jsonData = JSON.parse(myData);     
timeSincePostInSeconds = (Date.now() -Date.parse(jsonData.postcreated.created))/1000 ; 

var timeSincePostInSeconds = document.getElementById('createdAt'); 
+1

Noda Time是一個.NET庫。它與JavaScript沒有任何關係。 –

+0

此外,你需要顯示你已經嘗試了什麼,什麼做了或沒有工作。請閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask) –

+0

@MattJohnson感謝您的反饋意見。我試圖通過編輯問題來解釋我的問題。 – user12

回答

1

看一看Date.parse()。這會將給定的字符串轉換爲Date對象。我猜你正在尋找的是這樣的:

var timeSincePostInSeconds = (Date.now() - Date.parse("2015-09-27T17:15:23.633"))/1000 

這裏會發生什麼:Date.parse(dateString)創建日期對象相同Date.now()一樣。在對象上使用-運算符將調用此對象的valueOf方法。 Date對象將返回unix時間戳(自1970年1月1日以來的毫秒)。所以,如果你減去dateString現在你會得到以毫秒爲單位的差異 - 將這一差除以1000以獲得以秒爲單位的差異。

+0

'Date.now()'返回自Unix紀元以來的毫秒數。 *完全不依賴於時區。 'Date.parse()'確實如此,但那是不同的。 –

+0

我已經嘗試過,但沒有顯示任何東西。我已經添加了我嘗試過的代碼和您的建議。 – user12

+0

@ user12:你說的「它什麼都不顯示」是什麼?該代碼只是設置一個變量......我不希望它在任何地方顯示......該部分取決於你。 –

相關問題