是否有内置的Javascript函数将一个月的文本字符串转换为等效的数字?
实施例。 我有一个月“12月”的名字,我想要一个函数返回“12”。
答案 0 :(得分:4)
您可以在月份名称中附加一些虚拟日期和年份,然后使用Date构造函数:
var month = (new Date("December 1, 1970").getMonth() + 1);
答案 1 :(得分:2)
开箱即用,本机JS不支持此功能。如上所述,您需要满足区域设置注意事项和不同的日期约定。
您可以使用任何宽松假设吗?
答案 2 :(得分:1)
我推荐jQuery的datepicker utility functions。
答案 3 :(得分:1)
试试这个:
function getMonthNumber(monthName) {
// Turn the month name into a parseable date string.
var dateString = "1 " + monthName;
// Parse the date into a numeric value (equivalent to Date.valueOf())
var dateValue = Date.parse(dateString);
// Construct a new JS date object based on the parsed value.
var actualDate = new Date(dateValue);
// Return the month. getMonth() returns 0..11, so we need to add 1
return(actualDate.getMonth() + 1);
}