moment.js使用月份作为日期而不是日期

时间:2016-10-08 18:01:41

标签: javascript angularjs datetime momentjs

我在我的项目中使用了当前的moment.js(moment-with-locales.js - v.2.14.1)。我想删除我的日期时间字符串的时间,只获取日期。但是,如果我使用moment.js的var date = moment('08.10.2016 11:00').format('DD.MM.YYYY') console.log(date) 方法,我的日期不正确。

我想格式化这个日期时间字符串:

来自' 08.10.2016 11:00 '到' 08.10.2016 '

这是我在角度项目中使用的剪辑:

10.08.2016

如果我运行这个,我得到了这个输出

  var dateStart = moment('08.10.2016 19:00', 'DD.MM.YYYY HH:mm').valueOf()
  console.log(dateStart)
而不是     2016年8月10日

有趣的是,如果我想得到我的日期时间字符串的时间戳(毫秒),它就完美了。例如:

1475946000000 -> Sat Oct 08 2016 19:00:00 GMT+0200

将返回

{{1}}

如何获得正确的日期?

1 个答案:

答案 0 :(得分:7)

这取决于您的语言环境。 en-US定位意味着时间将在"月中的一年"解析。因此,您还需要解析模式:

var date = moment('08.10.2016 11:00','DD.MM.YYYY HH:mm').format('DD.MM.YYYY')