2014-02-13 2 views
0

JavaScript, StringDate에 대해 많은 질문이 있다는 것을 알고 있습니다. 하지만 내 문제에 대한 해결책을 찾지 못했습니다.로캘을 기준으로 날짜 형식 문자열

스프링 MVC의 dateTime 필드를 사용하고 있습니다. 문제는 내 백엔드는 날짜의 특정 형식을 기대하는이야

@RequestParam(value = PARAM_SELECT_DATE) @org.springframework.format.annotation.DateTimeFormat(pattern = "dd.MM.yyyy") final Date selectDate 

그러나 모든 브라우저가 나에게 두통을 제공 다르게 선택한 날짜, 예를 들어,

구문 분석 (즉 고정 아니에요, 내가 바꿀 수 필요한 경우 해당)
de-DE: 13.02.2014 
en-US: Feb 13, 2014 

저는 백엔드로 전달하기 위해 모든 로케일을 일반적인 날짜 형식으로 변환 할 수 없습니다.

내 프로젝트에 (더) 종속성이 있기를 원하지 않으므로 로케일과 관련하여 JS 날짜를 파싱하려면 어떻게해야합니까? Date.parse(date, locale)과 같은 것이 좋습니다.

는 또한 내가 못생긴 방법 등

if (navigator.language == 'en-US') { 
    var split = date.split(","); 
    var splitTwo = split[0].split(" "); 
    date = new Date(split[1], splitTwo[0] - 1, splitTwo[1]); // even here I would get 'Feb' instead of 02, another parse method would be needed 
} else if (navigator.language == 'de-DE') { 
    var split = date.split("."); 
    date = new Date(split[2], split[1] - 1, split[0]); 
} 

에 날짜를 구문 분석하는 데 더 많은 로케일이 발생하면 방법은 방법을 확장 할 것입니다 싶지 않아요.

로캘에 따라 달라지는 날짜 문자열은 어떻게 얻을 수 있습니까?

+0

여기를보세요 - http://stackoverflow.com/questions/7175462/how-to-convert-localized-date-to-standard-date-in-javascript –

+0

외부 라이브러리 사용 – Manuel

답변

0

당신은 클라이언트에서 날짜를 사전 형식화 할 수 있습니다

+(new Date())//timestamp 
(new Date()).toISOString()//ISO string 
(new Date()).toGMTString()//GMT string 
... 
+0

어떻게해야합니까 LOCALE는 DATE에 의존하는 String인가? 그게 질문이에요 – Manuel

+0

javascript 코드'new Date (new Date(). toLocaleDateString())'은 모든 탐색에 사용할 수 있습니까? 브라우저가 localeDateString을 구문 분석하는 방법을 알고 있다고 생각합니다. –

+0

클라이언트에서 날짜 개체를 작성하는 경우 (로케일로 인해 가정 함) 백엔드로 보내기 전에 일반 형식으로 변환 할 수 있습니다 (내 대답과 동일). 새 Date ()를 사용하여 나중에이 값을로드 할 수 있습니다. 적어도 내가 당신의 질문을 어떻게 이해했는지. –