如何在JavaScript中从这个日期对象生成月份的名称(例如:10月/ 10月)?
var objDate = new Date("10/11/2009");
如何在JavaScript中从这个日期对象生成月份的名称(例如:10月/ 10月)?
var objDate = new Date("10/11/2009");
当前回答
只需要编写一个简单的toLocaleString包装器:
函数 LocalDate(locale) { this.locale = locale; } LocalDate.prototype.getMonthName = function(date) { return date.toLocaleString(this.locale,{month:“long”}); }; var objDate = new Date(“10/11/2009”); var localDate = new LocalDate(“en”); console.log(localDate.getMonthName(objDate)); localdate.locale = “ru”; console.log(localDate.getMonthName(objDate)); localdate.locale = “zh”; console.log(localDate.getMonthName(objDate));
其他回答
现在的自然格式是使用Moment.js。
在Moment.js中,以字符串格式获取月份的方法非常简单,不需要在代码中硬编码月份名称: 要获得当前月份和年份的月份名称格式和全年(2015年5月):
moment(new Date).format("MMMM YYYY");
如果你正在使用jQuery,你可能也在使用jQuery UI,这意味着你可以使用$.datepicker. formatdate()。
$.datepicker.setDefaults( $.datepicker.regional[ "nl" ] ); // dutch
$.datepicker.formatDate( "dd MM yy", objDate );
如果我们需要传递输入,那么我们需要使用以下方式
输入:“2020-12-28”
代码:
new Date('2020-12-28').toLocaleString('en-us',{month:'short', year:'numeric'})
输出:“2020年12月”
您可以使用datejs来实现这一点。检查格式说明符,MMMM给出了月份的名称:
var objDate = new Date("10/11/2009");
document.write(objDate.toString("MMMM"));
datejs本地化了超过150个locale !在这里看到的
我们不需要声明一个包含所有月份名称的数组,然后用一个索引来指向,我们也可以把它写成一个简短的版本,如下所示:
var objDate = new Date().toLocaleString("en-us", { month: "long" }); // result: August
var objDate = new Date().toLocaleString("en-us", { month: "short" }); // result: Aug