2010-05-18 3 views
4

값이 '05/17/2010' dojo.date.locale을 사용하여 'May 17, 2010'으로 보내고 싶습니다. 다음과 같이 dojo.date.locale.parse을 사용해 보았습니다.dojo를 사용하여 문자열을 날짜 패턴으로 구문 분석하는 방법

x = '05/17/2010' 
var x = dojo.date.locale.parse(x, {datePattern: "MM/dd/yyyy", selector: "date"}); 
alert(x)  

이것은 원하는 날짜 패턴을 제공하지 않습니다.

또한 패턴을 datePattern : "MMMM d, yyyy"으로 바꾸려고 시도했지만 null을 반환합니다.

답변

1

이 방법이 작동하는지 잘 모르겠습니다. 초기 x 선언 후에도 두 번째 설정 전에 세미콜론이 없습니다.

var x = '05/17/2010'; 
x = dojo.date.locale.parse(x, {datePattern: "MM/dd/yyyy", selector: "date"}); 
alert (x); 

는 아마 처음에 설정되지 x의 문제였다 : 나는 세 줄에 코드를 부러?

+0

음 ... 자바 스크립트 느슨하게 – Dojouser

+0

를 입력 할 때 또한 경고 x는 저에게이 월과 같은 출력을 제공하기 때문에 세미콜론을 adddng 것은 중 하나가 작동하지 않습니다 2010 년 5 월 17 일 00:00:00 GMT-0500 (중부 일광 절약 시간제) 하지만 이것은 내가 원하는 것이 아닙니다 ... 2010 년 5 월 17 일 형식으로보고 싶습니다. 날짜 패턴을 MMMM d, yyyy로 변경하려고하면 경고 메시지가 표시됩니다. 무엇이 잘못 될지에 대한 아이디어가 있습니까? – Dojouser

+0

x를 처음 할당 한 후 세미콜론이 누락되었습니다. 그것은 구문 문제 일 뿐이며 타이핑과 관련이 없습니다. 또한 x를 할당 한 후에는 var를 사용하면 안됩니다. 추가 선언은 무시됩니다. JYelton의 구문이 정확합니다. – peller

5

dojo.date.locale.parse은 형식이 지정된 문자열을 사용하고 Javascript Date 객체를 반환합니다.

var x = dojo.date.locale.parse('05/17/2010', {datePattern: "MM/dd/yyyy", selector: "date"}); 

당신은 브라우저에 의해 변화하는 Date.toString() 메소드를 사용하여 문자열 X를 강제 변환,하지만 당신은 무엇을 가지고처럼 출력을 줄 것이다

alert(x); 

말할 때 - 월 월 17 2010 00:00:00 GMT-0500 (중부 일광 절약 시간제)

날짜를 특별한 방법으로 지정하려면 구문 분석 결과를 dojo.date.locale.format에 특정 날짜 형식 :

var y = dojo.date.locale.format(x, {datePattern:"MMMM d, yyyy", selector: 'date'}); 
1

문제는, 포맷 기능은 첫 번째 매개 변수로,이 걸리기 때문에 당신이, 당신이 그것을 포맷 할 수 있습니다 먼저 다음 Date 객체와 를 만들 가지고 Date 객체가 아닌 문자열입니다. 당신이 다음을 수행한다면, 그것은 잘 작동합니다 :

var x = new Date("05/17/2010"); 
x = dojo.date.locale.format(x, {datePattern: "MM/dd/yyyy", selector: "date"}); 
alert (x); 
+0

사실, format() 메서드입니다. 문제는 문자열을 취하는 parse() 메서드에 관한 것입니다. – peller

관련 문제