2012-11-01 2 views
6

주어진 달 이름에서 해당 달 번호를 찾으려고합니다. 이것을 달성하는 가장 쉬운 방법은 무엇입니까?주어진 월 이름에서 월 번호 받기

+0

을 다음과 같이 "? 크로스 브라우저, 견고성, 유지 보수성, 정확함을 포함하고 있습니까? – RobG

답변

13

이 경우 실제로 jQuery가 필요하지 않습니다. 이 라인을 따라

자바 스크립트가 도움이 될 수 있습니다 :

var monthNumber = ["january", "february", "march"].indexOf(monthname.toLowerCase()) + 1; 

가 완전히 작동 할 수 있도록 모든 개월 배열을 확장합니다.

+0

도움이 .... .... – chhameed

1

이 정보는 어디에서 오는가에 따라하는 라이브러리라는 DateJS 사용에 관심이있을 수 있습니다 : 그것은 jQuery를 사용하지 않고는 분석 기간에서 좋은

. 다운로드 섹션을 보면 외국어 입력을 처리해야하는 경우 150 개 이상의 국제화 라이브러리가 포함되어 있습니다.

1

나는 이렇게 할 것입니다.

모든 달로 배열을 만드십시오;

var data=new Array("January","February","March","April","May","June","July","August","September","October","November","December") 

//Lets say you get this back from your get month function. This should return january, because that is the first month.. 
var numberOfMonth = 1; 

//An array starts with the index 0, so you could do minus 1 to get the correct one 

alert data[numberOfMonth - 1]); 
4

간단한 방법은 0 내지 11의 값 (월) 얻었다 (12 월)

Array.prototype.indexOf 대안은 목적
var monthString = 'December'; 
var dat = new Date('1 ' + monthString + ' 1999'); 
alert(dat.getMonth()); 
+0

인간이 읽을 수있는, 나는 단지'경고 (dat.getMonth() + 1); '라고 말하고 싶습니다. – Scrimothy

+0

구현에 의존하지 않는 것이 좋을지 모르겠습니다. 표준 문자열. – RobG

+0

무슨 뜻인지 모르겠다. Rob -이 부분이 작동하지 않을까요? – CompanyDroneFromSector7G

3

:

var months = {jan: 0, feb:1, mar:2 ...}; 
var monthName = 'January'; 

var monthNum = months[monthName.substring(0,3).toLowerCase()]; 

이점이 있다는 것이다 1 월, 1 월, 1 월 등 다양한 월 양식 이름을 사용할 수 있습니다.

아, 위의 내용은 javascript Date 생성자 입력과 같이 월 번호가 필요하다고 가정합니다. 달력 월 번호를 얻으려면 값을 1 씩 늘리십시오.

3

JQuery가 필요하지 않은 이유는 자바 스크립트로 쉽게 해결할 수 있기 때문입니다. 당신은 달 이름을 호출하여 쉽게 달 수를 얻을 수 있습니다

var months = {jan:1, feb:2, mar:3, apr:4, may:5, jun:6}; 

을 다음과 같이

사용 키 값 쌍 당신의 기준은 "쉬운을 위해 무엇

months.jan // will return 1 to the caller 

또는

alert(months.feb); //will shows 2 in message box;