【问题标题】:Date and time without timestamp in JavascriptJavascript中没有时间戳的日期和时间
【发布时间】:2015-06-11 12:38:58
【问题描述】:

在 Javascript 中,我需要使用日期、时间和“日期和时间”的概念,而不是参考特定的时间点。这与 joda time 的 LocalDate 和 LocalTime 在 Java 中提供的语义完全相同。我已经简要地查看了 Date.js 和 moment.js,但是这两个库似乎都建立在 Date 对象上,它代表了一个时间点。是否有任何 javascript 库可以提供我需要的内容?

用例:

有一个模型实体 -a coupon- 有一个到期日期(joda time 的 LocalDate)。我想将该日期与今天的日期进行比较,所以我需要今天日期的表示(实际上是 yyyy-mm-dd 格式的字符串)。我知道今天的日期以及比较的结果也将取决于浏览器的时区设置,但这不是问题。

【问题讨论】:

  • 一般所有此类库都使用“纪元时间”作为参考!你能描述一下用例吗?
  • @NLN 有很多用例。例如出生日期。但保证或银行也迫切需要像普通日历日期这样的类型(例如计算受天数约束的利息,而不是“纪元时间”)。

标签: javascript date jodatime momentjs datejs


【解决方案1】:

我已经开始使用与 Noda Time / Joda Time / Java 8 类似的 API 的 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 来执行此操作,但解析行为存在一些问题。时刻更轻松。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2012-01-27
    • 1970-01-01
    • 2013-03-02
    • 2015-11-11
    • 2012-01-30
    相关资源
    最近更新 更多