如何在时刻js中转换日期

时间:2015-12-09 20:45:54

标签: javascript momentjs

我是Moment js的新手,我有这种格式的约会: Mon Jul 14 00:00:00 EDT 2014,我想将此日期转换为MMM DD HH:mm Z格式,有人可以帮我这样做吗?

当我指定时区时,我可以转换为所需的日期格式,但是当我指定时区时,它显示错误的时间,如下所示:

Jul 14 09:30 +05:30

如果我使用此代码:

var dateStr = "Mon Jul 14 00:00:00 EDT 2014";
var momentDateFormatted = moment(dateStr).format("MMM DD HH:mm Z");

它显示了拧干的时间。

如果我使用此代码:

var dateStr = "Mon Jul 14 00:00:00 2014";
var momentDateFormatted = moment(dateStr).format("MMM DD HH:mm Z");

删除EDT(时区):它显示正确,为什么?有什么方法可以通过时区并正确使用它吗?

2 个答案:

答案 0 :(得分:2)

这是我创建的js小提琴上的一些经过测试的代码 http://jsfiddle.net/markd116/kj5nzz4w/

var dateStr = "Mon Jul 14 00:00:00 EDT 2014";
var momentDateFormatted = moment(dateStr).format("MMM DD HH:mm Z");
jQuery("div").text(momentDateFormatted);

输出 Jul 14 00:00 -04:00

答案 1 :(得分:1)

找到此代码:

$(function () {
    $('.date').each(function (index, dateElem) {
        var $dateElem = $(dateElem);
        var formatted = moment($dateElem.text(), 'MM-DD-YYYY').format('MMMM D');
        $dateElem.text(formatted);
    })
});​

此处:Use moment.js to convert date format

此外,还有格式类型:

2013-02-08T09            # An hour time part separated by a T
2013-02-08 09            # An hour time part separated by a space
2013-02-08 09:30         # An hour and minute time part
2013-02-08 09:30:26      # An hour, minute, and second time part
2013-02-08 09:30:26.123  # An hour, minute, second, and millisecond time part
2013-02-08 24:00:00.000  # hour 24, minute, second, millisecond equal 0 means next day at midnight

2013-02-08  # A calendar date part
2013-W06-5  # A week date part
2013-039    # An ordinal date part

2013-02-08 09+07:00            # +-HH:mm
2013-02-08 09-0100             # +-HHmm
2013-02-08 09Z                 # Z
2013-02-08 09:30:26.123+07:00  # +-HH:mm

更多示例位于:http://momentjs.com/docs/

希望这能回答你的问题