使用时刻js库格式化日期

时间:2014-02-04 06:32:14

标签: javascript momentjs

我正在尝试在GWT JSNI代码中使用moment js库:

public native String momentNow(String date) /*-{
    $wnd.console.log("Date: " + date);
    return $wnd.moment("YYYY-MM-DD HH:mm Z", date).format();
}-*/;

输入示例:2014-02-04 07:47 +0800

但是,该方法返回的是“无效日期”字符串。我的代码可能有什么问题?

2 个答案:

答案 0 :(得分:0)

嗯......这很奇怪:

这有效:

moment("YYYY-MM-DD HH:mm ZZ", moment().format("YYYY-MM-DD HH:mm ZZ"))
moment("YYYY-MM-DD HH:mm ZZ", "2014-02-04 07:47 +0800")
+moment("YYYY-MM-DD HH:mm ZZ", "2014-02-04 07:47 +0800")

但这不起作用:

moment(
        "YYYY-MM-DD HH:mm ZZ", 
        moment().format("YYYY-MM-DD HH:mm ZZ")
      ).format()

这有效:

moment( +moment("YYYY-MM-DD HH:mm ZZ", "2014-02-04 07:47 +0800") ).format()

那是一种解决方法吗?

答案 1 :(得分:0)

您的参数顺序错误。每the documentation,格式字符串应作为第二个参数传递。

moment(date, "YYYY-MM-DD HH:mm Z").format()

但是,由于此格式是默认ISO字符串listed here之一,因此您可以省略它。

moment(date).format()