MomentJS:日期与时刻的比较
MomentJS : Date comparison with moment
我想比较日期,所以我得到了日期,然后使用 moment 将其转换为某种格式,然后再与我的数据库中的日期进行比较。
这是我将日期格式化为特定格式以便稍后比较的代码。
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) }
要使用 moment return 字符串值,您需要调用 .format(format)
documentation
所以你的情况我认为应该是
var date = req.body.validFrom;
var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);
使用这个语法:
var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);
您需要根据日期创建时刻对象,然后对其进行格式化。
我不确定你是想记录 date
还是 formatDate
。
我想比较日期,所以我得到了日期,然后使用 moment 将其转换为某种格式,然后再与我的数据库中的日期进行比较。
这是我将日期格式化为特定格式以便稍后比较的代码。
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) }
要使用 moment return 字符串值,您需要调用 .format(format)
documentation
所以你的情况我认为应该是
var date = req.body.validFrom;
var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);
使用这个语法:
var formatDate = moment(date).format("MM-DD-YYYY");
console.log(formatDate);
您需要根据日期创建时刻对象,然后对其进行格式化。
我不确定你是想记录 date
还是 formatDate
。