下面我尝试将格式17_Jul_2016转换为日期。我可以看到它几乎正常工作,但在最后一行显示对象而不是日期(我可以看到正确的日期作为输出的最后一行'_d')
console.log(moment("17_Jul_2016","YYYY-MM-DD"));
给出输出
{
[Number: -61611048000000]
_isAMomentObject: true,
_i: '17_Jul_2016',
_f: 'YYYY-MM-DD',
_isUTC: false,
_pf: {
empty: false,
unusedTokens: [],
unusedInput: ['_Jul_'],
overflow: 1,
charsLeftOver: 5,
nullInput: false,
invalidMonth: null,
invalidFormat: false,
userInvalidated: false,
iso: false
},
_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: Wed Aug 16 17 00: 00: 00 GMT - 0400(Eastern Daylight Time)
}
答案 0 :(得分:2)
将具有两个数字(17)的日期格式化为DD,将月份缩写(Jul)格式化为MMM,最后将四位数年份(2016)格式化为YYYY。解析器忽略非字母数字字符,但为了清楚起见,使用“_”。
console.log(moment("17_Jul_2016","DD_MMM_YYYY").toString());
答案 1 :(得分:1)
您还可以尝试使用格式化来格式化数据,例如-
console.log(moment("17_Jul_2016","DD_MMM_YYYY").format('DD/MM/YYYY HH:mm'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
这将为您提供输出-17/12/2019 12:45