是否可以使用Moment.js获取数字序号?例如,如果我输入数字7,而Momentjs将返回“7th”

到目前为止,我已经尝试了所有这些方法,但是都没有成功

console.log(moment("12", "D Do")); // returns n {_isAMomentObject: true, _i: "12", _f: "D Do", _isUTC: false, _pf: Object…}
                console.log(moment("3", "D Do")); // returns n {_isAMomentObject: true, _i: "3", _f: "D Do", _isUTC: false, _pf: Object…}
                console.log(moment(3).format("D Do")); // returns '1 1st'
                console.log(moment('3').format("D Do")); // returns '1 1st'
                console.log(moment().day('3').format("Do")); // returns '9th'
                console.log(moment().day(3).format("D Do")); // returns '9 9th'

编辑:我应该提到我正在尝试处理一个日期。因此,我得到的日期格式为DD-MM-YYYY。因此,如果日期为2015年7月12日,我想将其显示为7日。

最佳答案

我不认为Moment.js提供这样的接口(interface),因为它的用例非常有限。

如果您没有日期(例如排名),则可以使用以下方法:

function ordinal(number) {
  switch (number) {
    case 1:
    case 21:
      return number + 'st';
      break;
    case 2:
    case 22:
      return number + 'nd';
      break;
    case 3:
    case 23:
      return number + 'rd';
      break;
    default:
      return number + 'th';
  }
}

编辑:回答已编辑的问题:

您可以执行以下操作:
const date = '3-12-2015';
moment(date, 'DD-MM-YYYY').format('Do');

Demo

文档:

解析:http://momentjs.com/docs/#/parsing/string-format/

显示:http://momentjs.com/docs/#/displaying/format/

关于momentjs - 使用Moment.js获取数字序号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34228096/

10-11 13:52