日期扩展 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()];
}
我正在努力将日期对象扩展到名称中的 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()];
}