2015-06-11 117 views
2

在JavaScript中,我需要使用日期,時間和「日期和時間」的概念,而不涉及特定的時間點。這與joda time的LocalDate和LocalTime在Java中提供的語義完全相同。我一直在簡要地研究Date.js和moment.js,但是這兩個庫似乎都建立在Date對象上,這代表了一個時間點。有沒有提供我所需要的任何JavaScript庫?在JavaScript中沒有時間戳的日期和時間

使用案例:

有是有到期日(喬達時間的LOCALDATE的)模型實體-a coupon-。我想將該日期與今天的日期進行比較,所以我需要表示當天的日期(實際上yyyy-mm-dd格式的字符串可以)。我知道今天的日期以及比較的結果將取決於瀏覽器的時區設置,但這不是問題。

+1

通常,所有這些庫都使用'epoch time'作爲參考!你能描述一下用例嗎? – nalinc

+1

@NLN有這麼多的用例。例如出生日期。但是保證或銀行迫切需要一種類似於明確的日曆日期的類型(例如計算必須與日期相關的利益,而不是「時代」)。 –

回答

2

我已經開始幾次使用類似API的野外時間/ Joda Time/Java 8的JavaScript庫。我肯定會看到它的價值。然而,就我所知,目前還沒有任何東西存在。有other reasons,使Date對象不理想。我會盡量記住在/更新這個帖子的時候/如果我得到一個新的圖書館,或者如果我瞭解其他人創建的。

在平均時間,最簡單的事情是使用moment.js

var expDateString = "2015-06-30"; 
var exp = moment(expDateString, "YYYY-MM-DD"); 
var now = moment(); 
if (exp.isAfter(now)) 
    // expired 
else 
    // valid 

你也可以用普通的JavaScript做到這一點,但也有一些陷阱與解析行爲。時刻更容易。