Javascript 在Moment.js中,有没有更好的方法获取isPM?
我的时刻.version=2.10.6。根据我在该版本中的理解,这是我确定AM/PM所需的最小代码量: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 对
// 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'代码>它不适用于匈牙利语、汉语等其他语言