2014-02-10 22 views
0

在客戶端Javascript中進行日期操作時,我一直使用'date as long'(getTime()/ +)進行比較,評估以及運輸從(而不是)我們的Java服務器端到客戶端Javascript的日期。 它讓我從日期處理中的瀏覽器不良行爲頭痛中解脫出來。反對在JavaScript中使用日期值的時間戳值的注意事項

但最近這種做法被質疑,我仍然沒有任何理由爲什麼我應該使用字符串日期來代替。這種使用時間戳的方法有什麼問題,我無法看到?

回答

0

當你的服務器端是Java時,應該沒有任何問題。

我唯一能補充的是 - 在客戶端使用像moment.js這樣的javascript庫很方便。 moment.js是一個豐富的日期處理庫。如果你必須做大量的日期操作,以不同的格式顯示或者從用戶讀取日期,那就去做吧。

0

JS時間戳是毫秒以來的時代。大多數服務器系統(除非你正在處理node.js)使用簡單的秒以來的時間。任何代表「now」類型日期的JS時間戳都會超過正常的32位有符號unix時間戳的大小限制,並且會被截斷/損壞。

發送串避免了這一點,因爲幾乎任何像樣的系統可以接受的日期字符串,並將其轉換回自己的本機時間系統,而採取了損壞截斷int是隻是一個垃圾進,垃圾出的事。當然,如果你的服務器端系統知道他們將會收到一個JS時間戳,他們可以接受一個字符串,然後做一些基本的截斷操作以消除毫秒級組件,基於時間的字符串,可以轉換爲一個int。

+0

在問題NikhilWanpal已經表明服務器端是Java。因此,毫秒數不應該有任何截斷問題。 – RaviH

+0

我只接收客戶端JavaScript的時間戳,以避免瀏覽器特定的問題。要發送日期,我使用我們的服務器可以理解的格式表示字符串表示。 – NikhilWanpal

相關問題