如何在JavaScript中从这个日期对象生成月份的名称(例如:10月/ 10月)?
var objDate = new Date("10/11/2009");
如何在JavaScript中从这个日期对象生成月份的名称(例如:10月/ 10月)?
var objDate = new Date("10/11/2009");
当前回答
获取月份名称的数组:
Date.monthNames = function( ) {
var arrMonth = [],
dateRef = new Date(),
year = dateRef.getFullYear();
dateRef.setMonth(0);
while (year == dateRef.getFullYear()) {
/* push le mois en lettre et passe au mois suivant */
arrMonth.push( (dateRef.toLocaleString().split(' '))[2] );
dateRef.setMonth( dateRef.getMonth() + 1);
}
return arrMonth;
}
alert(Date.monthNames().toString());
// -> janvier,février,mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,décembre
http://jsfiddle.net/polinux/qb346/
其他回答
现在可以使用ECMAScript国际化API来做到这一点:
const date = new date (2009,10,10);/ / 2009-11-10 Const month =日期。toLocaleString('default', {month: 'long'}); console.log(月);
“long”使用月份的全称,“short”使用简短的名称,“narrow”使用更简洁的版本,比如字母语言中的第一个字母。
你可以将浏览器的“默认”更改为任何你喜欢的语言环境(例如:'en-us'),它将为该语言/国家使用正确的名称。
使用toLocaleStringapi,你每次都必须传递locale和选项。如果你要在多个不同的日期使用相同的语言环境信息和格式选项,你可以使用Intl。DateTimeFormat相反:
const formatter = new Intl。DateTimeFormat('fr', {month: 'short'}); Const month1 =格式化程序。格式(新日期()); Const month2 = formatter。format(new Date(2003,5,12)); Console.log (' ${month1}和${month2} ');//当前月份的法语和“juin”。
有关更多信息,请参阅我关于国际化API的博客文章。
您可以简单地使用date . tolocaledatestring()并解析所需的日期作为参数
const事件=新的日期(日期。Utc (2012, 11,20,3,0,0)); Const选项={年:'numeric',月:'short',日:'numeric'}; console.log(事件。toLocaleDateString(“de-DE”,选项)); //期望输出:Donnerstag, 20。Dezember 2012 console.log(事件。toLocaleDateString(“en - us”,选项)); //美国格式 //如果你只想要这个月 console.log(事件。toLocaleDateString(undefined, {month: 'short'})); console.log(事件。toLocaleDateString(undefined, {month: 'long'}));
您可以在Firefox文档中找到更多信息
Date.prototype.getMonthName = function() {
var monthNames = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
return monthNames[this.getMonth()];
}
它可以被用作
var month_Name = new Date().getMonthName();
将名称存储在一个数组中,并根据月份的索引进行查找。
var month=new Array(12);
month[0]="January";
month[1]="February";
month[2]="March";
month[3]="April";
month[4]="May";
month[5]="June";
month[6]="July";
month[7]="August";
month[8]="September";
month[9]="October";
month[10]="November";
month[11]="December";
document.write("The current month is " + month[d.getMonth()]);
JavaScript getMonth()方法
较短的版本:
const monthNames = ["January", "February", "March", "April", "May", "June", “七月”,“八月”,“九月”,“十月”,“十一月”,“十二月” ]; const d = new Date(); 文档。write("当前月份是" + monthNames[d.getMonth()]);
注(2019-03-08)-我最初在2009年写的这个答案已经过时了。请参阅David Storey的回答以获得更好的解决方案。