Moment.js中文文档系列之九工具类(Utilities)

 2015年11月01日    710     声明


Moment暴露了一些方法,这对人们扩展类库或自定义解析等会比较有用。


1. 标准化单位:normalizeUnits()

moment.normalizeUnits(String);

Moment中的很多函数都允许访问器传入单位枚举的别名。例如,下面所有的get都相等。

var m = moment();
m.get('y');
m.get('year');
m.get('years');

如果你正在对类库进行扩展,通过对Moment功能的调调整,您可以更容易的访问其中的特性,

moment.normalizeUnits('y');      // 'year'
moment.normalizeUnits('Y');      // 'year'
moment.normalizeUnits('year');   // 'year'
moment.normalizeUnits('years');  // 'year'
moment.normalizeUnits('YeARS');  // 'year'


2. 无效对象:invalid()

moment.invalid(Object);

你可以创建你自己的无效Moment对象,在这你自己定义的解析器中非常有用。

var m = moment.invalid();
m.isValid();                      // false
m.format();                       // 'Invalid date'
m.parsingFlags().userInvalidated; // true

invalid同样接受对象形式的参数,其中包含对解析标识的一些设置。这不会设置userInvalidated解析标识,除非通过属性指定。

var m = moment.invalid({invalidMonth: 'Actober'});
m.parsingFlags().invalidMonth; // 'Actober'

你不必指定Moment中的解析标识,因为这在Moment中是无效的,转换标识会由parsingFlags()返回。