获取 moment.js 中年份的所有月份名称
Get all months name from year in moment.js
我想获取 moment.js
中年份的所有月份名称
如果年份是 2011
,那么我想在 momentjs 中命名所有月份
我试过下面的代码,但它对我不起作用。
var xxx = moment().months(2011);
显示的结果是
我也试过 xxx.months()
,但是 return 结果是 7
但我想要 jan,feb,mar,......dec
。 嗯,我能做什么?
您将不得不从数组中访问月份:
var months = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
var monthInt = new Date().getMonth();
var monthString = months[monthInt];
恰好有一个函数:
moment.monthsShort()
// ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
或使用手动格式相同:
Array.apply(0, Array(12)).map(function(_,i){return moment().month(i).format('MMM')})
我猜您想使用 Moment.js 语言环境数据显示所有名称,这是一种合理的方法。
if the year is 2011, then i want to all months name in momentjs
为什么年份很重要?月份名称不变。
您可以像这样从 Moment 获取月份名称:
var m = moment();
for (var i = 0; i < 12; i++) {
console.log(m.months(i).format('MMMM'));
}
/**
* Returns an array of all month names for a given language
* in the specified format.
*
* @param lang {string} Language code
* @param frmt {string} Possible values: {'M','MM','MMM','MMMM'}
* @return the array of month names
*/
function getMonthNames(lang, frmt) {
var userLang = moment.lang(); // Save user language
moment.lang(lang); // Switch to specified language
var months = []; // Months array
var m = moment("2011"); // Create a moment in 2011
for (var i = 0; i < 12; i++) // Loop from 0 to 12 (exclusive)
months.push(m.months(i).format(frmt)); // Append the formatted month
moment.lang(userLang); // Restore user language
return months; // Return the array of months
}
function println(text) {
text = arguments.length > 1 ? [].join.call(arguments, ' ') : text;
document.getElementById('disp').innerHTML += text + '\n';
}
println('English:', getMonthNames('en-US', 'MMM'));
println('Bengali:', getMonthNames('bn', 'MMM'));
println('Español:', getMonthNames('es', 'MMM'));
#disp {
white-space: pre;
font-family: monospace;
}
<!-- http://cdnjs.com/libraries/moment.js/ -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script>
<div id="disp"></div>
输出
English: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
Bengali: জানু,ফেব,মার্চ,এপর,মে,জুন,জুল,অগ,সেপ্ট,অক্টো,নভ,ডিসেম্
Español: ene.,feb.,mar.,abr.,may.,jun.,jul.,ago.,sep.,oct.,nov.,dic.
使用moment.js你有以下方法:
moment.months() // long names
returns:
[ 'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December' ]
和
moment.monthsShort() // short names
returns:
["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
您可以使用以下函数获取工作日和月份的列表以用于列表目的 -
var iIndex,
sArrMonths, sMonth;
for(iIndex = 0; iIndex < 12; iIndex++)
{
sMonth = moment.localeData().months(moment([0,iIndex]), "");
sArrMonths.push(sMonth);
}
您可以在此处查看实时示例 - Localized Month and Weekdays List
我需要一个包含月份编号和月份名称的数组来在 ng-optiosn 中显示它们,所以我扩展了一点 Klaster_1 的解决方案。
Array.apply(0, Array(12)).map(
function(_,i){
var elem ={};
elem.id = parseInt(i+1);
elem.name = moment().month(i).format('MMM');
return elem;
}
)
现在是 2019 年,您不应该再使用 moment.js,因为原版 Date()
class 拥有我们需要的一切。除了这一点功能。
这是我使用的:months
NPM module 中所有的月份都以不同的语言显示。压缩后大约有 991 个字节。
具有正确 import
语法的示例:
import months from 'months'
console.log(months.de)
结果:
[
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
]
如果您想在 React 中的 select 中列出月份名称:
<select
value={value}
onChange={handleChange}>
{moment.months().map(item => (
<option key={item}>{item}</option>
))}
</select>
我想获取 moment.js
中年份的所有月份名称如果年份是 2011
,那么我想在 momentjs 中命名所有月份
我试过下面的代码,但它对我不起作用。
var xxx = moment().months(2011);
显示的结果是
我也试过 xxx.months()
,但是 return 结果是 7
但我想要 jan,feb,mar,......dec
。 嗯,我能做什么?
您将不得不从数组中访问月份:
var months = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
var monthInt = new Date().getMonth();
var monthString = months[monthInt];
恰好有一个函数:
moment.monthsShort()
// ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
或使用手动格式相同:
Array.apply(0, Array(12)).map(function(_,i){return moment().month(i).format('MMM')})
我猜您想使用 Moment.js 语言环境数据显示所有名称,这是一种合理的方法。
if the year is 2011, then i want to all months name in momentjs
为什么年份很重要?月份名称不变。
您可以像这样从 Moment 获取月份名称:
var m = moment();
for (var i = 0; i < 12; i++) {
console.log(m.months(i).format('MMMM'));
}
/**
* Returns an array of all month names for a given language
* in the specified format.
*
* @param lang {string} Language code
* @param frmt {string} Possible values: {'M','MM','MMM','MMMM'}
* @return the array of month names
*/
function getMonthNames(lang, frmt) {
var userLang = moment.lang(); // Save user language
moment.lang(lang); // Switch to specified language
var months = []; // Months array
var m = moment("2011"); // Create a moment in 2011
for (var i = 0; i < 12; i++) // Loop from 0 to 12 (exclusive)
months.push(m.months(i).format(frmt)); // Append the formatted month
moment.lang(userLang); // Restore user language
return months; // Return the array of months
}
function println(text) {
text = arguments.length > 1 ? [].join.call(arguments, ' ') : text;
document.getElementById('disp').innerHTML += text + '\n';
}
println('English:', getMonthNames('en-US', 'MMM'));
println('Bengali:', getMonthNames('bn', 'MMM'));
println('Español:', getMonthNames('es', 'MMM'));
#disp {
white-space: pre;
font-family: monospace;
}
<!-- http://cdnjs.com/libraries/moment.js/ -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script>
<div id="disp"></div>
输出
English: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
Bengali: জানু,ফেব,মার্চ,এপর,মে,জুন,জুল,অগ,সেপ্ট,অক্টো,নভ,ডিসেম্
Español: ene.,feb.,mar.,abr.,may.,jun.,jul.,ago.,sep.,oct.,nov.,dic.
使用moment.js你有以下方法:
moment.months() // long names
returns:
[ 'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December' ]
和
moment.monthsShort() // short names
returns:
["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
您可以使用以下函数获取工作日和月份的列表以用于列表目的 -
var iIndex,
sArrMonths, sMonth;
for(iIndex = 0; iIndex < 12; iIndex++)
{
sMonth = moment.localeData().months(moment([0,iIndex]), "");
sArrMonths.push(sMonth);
}
您可以在此处查看实时示例 - Localized Month and Weekdays List
我需要一个包含月份编号和月份名称的数组来在 ng-optiosn 中显示它们,所以我扩展了一点 Klaster_1 的解决方案。
Array.apply(0, Array(12)).map(
function(_,i){
var elem ={};
elem.id = parseInt(i+1);
elem.name = moment().month(i).format('MMM');
return elem;
}
)
现在是 2019 年,您不应该再使用 moment.js,因为原版 Date()
class 拥有我们需要的一切。除了这一点功能。
这是我使用的:months
NPM module 中所有的月份都以不同的语言显示。压缩后大约有 991 个字节。
具有正确 import
语法的示例:
import months from 'months'
console.log(months.de)
结果:
[
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
]
如果您想在 React 中的 select 中列出月份名称:
<select
value={value}
onChange={handleChange}>
{moment.months().map(item => (
<option key={item}>{item}</option>
))}
</select>