日期扩展 javascript 获取月份名称

Date extension javascript get month name

我正在努力将日期对象扩展到名称中的 return 当前月份。如果调用 d.getMonthText() 方法,它应该 return(一月)。

我在网上搜索了扩展程序,但似乎无法弄清楚。

虽然不推荐,但您可以通过其原型 属性 向几乎任何 javascript 内置对象添加方法 属性。

Date.prototype.getMonthName = function() {
    let months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ];

    return months[this.getMonth()];
};

那就用吧:

let date = new Date();
let month = date.getMonthName();

只需将 date.getMonth() 方法值映射到月份值

Date.prototype.getMonthText = function() {
  var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
  return months[this.getMonth()];
}

var now = new Date();
var month = now.getMonthText();
console.log(month);

你以一种非常基本的方式开始了..这个函数将return你的月份名称

<script>
function getMonthText(){
var month;
 switch (new Date().getMonth()) {
   case 0:
     month= "Jan";
     break;
   case 1:
     month= "Feb";
     break;
   case 2:
     month= "March";
     break;
   case 3:
     month= "April";
     break;
   case 4:
     month= "May";
     break;
   case 5:
     month= "June";
     break;
   case  6:
     month= "July";
     break;
   case  7:
     month= "August";
     break;
   case  8:
     month= "Sep";
     break;
   case  9:
     month= "Oct";
     break;
   case  10:
     month= "Nov";
     break;
   case  11:
     month= "Dec";
     break;
}}
 </script>

只是为了添加一个选项,您可以考虑 toLocaleString,它应该支持 ECMA 402 国际化 API。它还不是无处不在,但值得为未来考虑,因为它将 return 使用 ISO 639-1 语言代码的任何语言的月份名称:

Date.prototype.getMonthName = function(lang) {
  // Default language is English
  lang = lang || 'en-GB';
  return this.toLocaleString(lang, {month:'long'});
}

console.log(new Date().getMonthName())        // English (default)

console.log(new Date().getMonthName('ar-sy')) // Arabic

console.log(new Date().getMonthName('es-py')) // Spanish

ECMAScript 6 版本:

getPreviousMonth(monthBefore) {
    let monthList = [];
    let date = new Date();
    for (let i = 0; i < monthBefore; i++) {
        date.setMonth(date.getMonth() - 1);
        monthList.push(date.toLocaleString('en-us', {
            month: 'long',
        }));
    }
    return monthList;
}

您可以猴子修补 Date 原型对象并实现扩展方法:

Date.prototype.getMonthName = function() {
  return "January,February,March,April,May,June,July,August,September,October,November,December".split(",")[this.getMonth()];
}