Есть ли встроенная функция Javascript, чтобы превратить текстовую строку месяца в числовой эквивалент? - PullRequest
1 голос
/ 04 декабря 2008

Есть ли встроенная функция Javascript для преобразования текстовой строки месяца в числовой эквивалент?

Ex. У меня есть название месяца «декабрь», и я хочу, чтобы функция возвращала «12».

Ответы [ 4 ]

4 голосов
/ 04 декабря 2008

Вы можете добавить фиктивный день и год к названию месяца, а затем использовать конструктор Date :

var month = (new Date("December 1, 1970").getMonth() + 1);
2 голосов
/ 04 декабря 2008

Из коробки это не поддерживается в нативном JS. Как уже упоминалось, существуют региональные соображения и различные соглашения о датах, которые вам необходимо учитывать.

Есть ли у вас какие-либо смягчающие предположения, которые вы можете использовать?

1 голос
/ 04 декабря 2008

Попробуйте это:

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);
}
1 голос
/ 04 декабря 2008

Я рекомендую функции jQuery datepicker .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...