2009-09-11 8 views
8

JavaScript 클라이언트는 일부 문자열을 내 서버로 보냅니다. 그 중 하나는 JavaScript Date 객체의 문자열 표현 형식으로 제공됩니다.JavaScript 구문 분석 JavaScript의 날짜 문자열

자,이 JavaScript Date 객체는 자체 포맷을 가지고 있으며 SimpleDateFormatter에서 문제가 발생하여 올바른 변환을 수행하는 클래스가 있는지 궁금합니다. 나는 하나의 주 이유로 Joda Time 포매터를 선호 개인적으로 Tue Feb 12 2013 21:12:28 GMT+0100 (CET)

+0

SimpleDateFormatter에서의 문제점은 무엇입니까? –

+0

moment.js를 사용해보십시오.이 모든 성가신 문제를 해결할 수 있을지 믿어주십시오. –

답변

11

가장 좋은 방법은 자바 스크립트에서 날짜를 serialize하는 것입니다 toUTCString (뿐만 아니라 toString()); toUTCString은 rfc 822 날짜 (http가 사용하는 것과 동일한 형식)를 생성합니다. 다음 SimpleDateFormat 패턴을 사용하여 java에서 구문 분석 할 수 있습니다.

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH) 
+2

당신이 날짜의 제작자를 통제하지 않고'.toUTCString()'을 사용하는 것이 옵션이 아니라면, 다음 형식을 사용할 수 있습니다 :' "EE MMM dy H : m : s 'GMT'Z (zz) "" –

3

:

는 같은 자바 스크립트 날짜 문자열 모습입니다 그들이 스레드 안전하고 변경할 수있어, 당신이 하나를 만들 정적을 유지하고, 수 아무 걱정없이 그것을 재사용하십시오. Joda는 또한 표준 시간대 등을 쉽게 지정할 수있게 해줍니다. 물론 Joda 객체가 생성되어 다른 이점이 있습니다. IMO - 자바의 날짜/시간 API를 가능한 한 조종하지 않도록 노력합니다.

그렇다면, 구문 분석하려는 형식에 대해 더 알고 있어야하며, SimpleDateFormatter의 경우에는 무엇이 잘못 될지 알아야합니다. (일반적으로 "문제가 발생했습니다"문제가 해결 된 경우 해당 문제를 설명하기 위해 짧고 완전한 프로그램을 사용하는 것이 가장 이상적입니다.)