2015-06-11 65 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做到这一点,但也有一些陷阱与解析行为。时刻更容易。