是否有内置的Javascript函数将一个月的文本字符串转换为数字等价物?

时间:2008-12-04 07:57:30

标签: javascript

是否有内置的Javascript函数将一个月的文本字符串转换为等效的数字?

实施例。 我有一个月“12月”的名字,我想要一个函数返回“12”。

4 个答案:

答案 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);
}