我的时刻。版本= 2.10.6。根据我在该版本中的理解,这是我确定AM / PM所需的最少量代码:
// AM
var m = moment("2018-05-16 11:59:59 GMT-0600");
m.localeData().isPM(m.format('A')) // false
// PM
var m = moment("2018-05-16 12:00:00 GMT-0600");
m.localeData().isPM(m.format('A')) // true
这是对的吗?如果是这样,对我来说似乎有点过于复杂。我想要做类似的事情:
moment("2018-05-16 11:59:59 GMT-0600").local().isPM()
我认为期望local
能够在内部访问localeData
并且localeData
知道如何在内部为AM | PM格式化字符串是合理的,因此local
的返回值可以采用isPM
方法。
答案 0 :(得分:1)
您可以编写自己的函数来检查PM:
function isPM(momentObj) {
if (momentObj.format('A') === 'PM')
return true;
return false;
}
isPM(moment('2018-05-16T18:00:00')); //true
isPM(moment('2018-05-16T10:00:00')); //false
您还可以扩展moment.prototype
并实现isPM
:
moment.prototype.isPM = function() {
if (this.format('A') === 'PM')
return true;
return false;
}
moment('2018-05-16T18:00:00').isPM(); //true
moment('2018-05-16T10:00:00').isPM(); //false