【问题标题】:moment.js uses the month as day instead the daymoment.js 使用月份作为日期而不是日期
【发布时间】:2016-10-08 18:01:41
【问题描述】:

我目前在我的项目中使用 moment.js (moment-with-locales.js - v.2.14.1)。我想删除我的日期时间字符串的时间以仅获取日期。但如果我使用 moment.js 的 .format() 方法,我得到的日期不正确。

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

从“08.10.2016 11:00”到“08.10.2016

这是我在 Angular 项目中使用的片段:

var date = moment('08.10.2016 11:00').format('DD.MM.YYYY')
console.log(date)

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

10.08.2016

而不是 08.10.2016

有趣的是,如果我想获取我的日期时间字符串的时间戳(毫秒),它可以完美运行。示例:

  var dateStart = moment('08.10.2016 19:00', 'DD.MM.YYYY HH:mm').valueOf()
  console.log(dateStart)

会回来

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

我怎样才能得到正确的日期?

【问题讨论】:

    标签: javascript angularjs datetime momentjs


    【解决方案1】:

    这取决于您的语言环境。 en-US locate 表示时刻将按“月日年”解析。因此,您还需要使用模式进行解析:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多