我有一个字符串Feb 2012
。我怎样才能将其转换为FEBRUARY 2012
. 实际上我有一个完整的数组['Jan 2011', 'Feb 2011', 'Mar 2011', ... ]
我需要转换每个元素并得到['JANUARY 2011', ...]
问问题
91 次
5 回答
7
假设字符串始终格式化为 '{monthShortForm} {year}',您可以执行以下操作:
var input = 'Jan 2011';
var parts = input.split(' ');
var output = longForm[parts[0].toLowerCase()] + ' ' + parts[1];
longForm 是这样的地图
longForm = { 'jan': 'JANUARY', 'feb': 'FEBRUARY', /* etc */ };
希望有帮助。
于 2012-11-23T09:46:15.220 回答
1
var dt = new Date("Feb 2012"), // FEBRUARY 2012
m_names = ["JANUARY", "FEBRUARY", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December"];
var curr_month = dt.getMonth(),
curr_year = dt.getFullYear();
console.log(m_names[curr_month] + " " + curr_year);
于 2012-11-23T09:51:19.630 回答
0
使用 jQuery 试试这个:
var arr = ["Jan 2011", "Feb 2011", "Mar 2011"];
var name = ["JANUARY", "FEBRUARY", "MARCH"];
var list = new Array();
// Loop through the array arr
$.each(arr, function(i, value) {
// Convert the month names
var month = name[i];
var year = value.split(" ")[1];
// Display the result
alert(month + ' ' + year);
// Add elements to a new array
list.push(month + ' ' + year);
});
console.log(list);
控制台结果:
["JANUARY 2011", "FEBRUARY 2011", "MARCH 2011"]
希望这可以帮助!
于 2012-11-23T11:51:17.587 回答
0
var myDate = new Date(Date.parse("Mar 2012"));
var monthNum = myDate.getMonth();
var year = myDate.getFullYear();
现在把monthNum变成一个字符串。我建议使用 12 个字符串的数组,并使用 array[monthNum] 来获得正确的字符串。
于 2012-11-23T09:49:39.993 回答
0
如果您要在您的应用程序中进行其他基于时间和日期的操作,我建议您使用 Moment.js (http://momentjs.com/)。这是一个非常强大的库——如果这就是你需要做的所有事情,可能有点太多了——但无论如何都值得研究。
要使用 Moment.js 回答您的问题,这是您需要的代码段:
moment('Feb 2011', 'MMM YYYY').format('MMMM YYYY').toUpperCase();
// FEBRUARY 2011
于 2012-11-23T10:26:20.317 回答