MomentJS:与时刻的日期比较

时间:2016-01-15 19:28:56

标签: node.js momentjs

我想比较日期,以便我得到日期,然后用时间将其变成某种格式 - 然后再将其与数据库中的日期进行比较。

以下是我将日期格式化为特定格式以便稍后进行比较的代码。

var date = req.body.validFrom;
var formatDate = moment(date, "MM-DD-YYYY");
console.log(date);

但我得到的输出作为下面给出的对象,所以我不知道如何比较我的日期?任何人都可以告诉我为什么我得到这个输出,我应该如何格式化它?我尝试了所有组合,但它给了我这个对象。

    { [Number: 1492626600000]
  _isAMomentObject: true,
  _i: Sat Jan 16 2016 00:00:00 GMT+0530 (India Standard Time),
  _f: 'MM-DD-YYYY',
  _isUTC: false,
  _pf:
   { empty: false,
     unusedTokens: [],
     unusedInput: [ 'Sat Jan ', ' ', ' 00:00:00 GMT+0530 (India Standard Time)' ],
     overflow: 1,
     charsLeftOver: 49,
     nullInput: false,
     invalidMonth: null,
     invalidFormat: false,
     userInvalidated: false,
     iso: false },
  _locale:
   Locale {
     _ordinalParse: /\d{1,2}(th|st|nd|rd)/,
     ordinal: [Function],
     _abbr: 'en',
     _ordinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ },
  _d: Thu Apr 20 2017 00:00:00 GMT+0530 (India Standard Time) }
POST /admin/schedules/ - - ms - -
2016-01-15T18:30:00.000Z
{ [Number: 1492626600000]
  _isAMomentObject: true,
  _i: Sat Jan 16 2016 00:00:00 GMT+0530 (India Standard Time),
  _f: 'MM-DD-YYYY',
  _isUTC: false,
  _pf:
   { empty: false,
     unusedTokens: [],
     unusedInput: [ 'Sat Jan ', ' ', ' 00:00:00 GMT+0530 (India Standard Time)' ],
     overflow: 1,
     charsLeftOver: 49,
     nullInput: false,
     invalidMonth: null,
     invalidFormat: false,
     userInvalidated: false,
     iso: false },
  _locale:
   Locale {
     _ordinalParse: /\d{1,2}(th|st|nd|rd)/,
     ordinal: [Function],
     _abbr: 'en',
     _ordinalParseLenient: /\d{1,2}(th|st|nd|rd)|\d{1,2}/ },
  _d: Thu Apr 20 2017 00:00:00 GMT+0530 (India Standard Time) }

2 个答案:

答案 0 :(得分:2)

使用以下语法:

var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);

您需要根据日期创建时刻对象,然后对其进行格式化。

我不确定您是否也要记录dateformatDate

答案 1 :(得分:1)

要使用片刻值返回字符串值,您需要拨打.format(format) documentation

所以在你的情况下我认为它应该是

var date = req.body.validFrom;
var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);