Javascript 在Moment.js中,有没有更好的方法获取isPM?

Javascript 在Moment.js中,有没有更好的方法获取isPM?,javascript,momentjs,Javascript,Momentjs,我的时刻.version=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 对

我的时刻.version=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
方法。

您可以编写自己的函数来检查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

一行:
让isPM=m=>m.format('A')==PM'它不适用于匈牙利语、汉语等其他语言