2011-09-04 4 views
1

나는이 결과를 출력하기 위해 3 개의 브라우저를 사용합니다.js 날짜 toLocaleString

크롬 :

new Date().toLocaleString() 
> "Sun Sep 04 2011 21:40:04 GMT+0800 (HKT)" 

사파리 :

new Date().toLocaleString() 
> "2011年9月4日 下午09时54分51秒格林尼治标准时间+0800" 

FF :

new Date().toLocaleString() 
> "Sun Sep 4 21:46:03 2011" 

왜 동일한 출력 결과? 시간대?

+0

각 브라우저의 출력은 무엇입니까? –

+0

크롬 : 새 Date() toLocaleString() "일 2011년 9월 4일 21시 40분 4초 (그리니치 표준시) + 0800 (HKT)" 사파리 :.. >>> 새 Date() toLocaleString() "2011 年 9 2012 년 5 월 4 일 21시 46 분 3 초 2011 " – Thinking80s

+0

나는 이것을 복제하기를 망설였습니다. http://stackoverflow.com/questions/2115725/date-tolocalestring-broken-in-chrome하지만 이것은 진짜 질문이며, 다른 하나는 행운에 의해서만 좋은 질문입니다! – Stefano

답변

2

컴퓨터의 구성, 사용자의 선호 날짜 형식, 분명히 사용자의 로캘 및 브라우저에서이를 결정하는 방법에 따라 다릅니다.

형식을 지정하려면 datejs과 같은 적절한 날짜 라이브러리를 사용하는 것이 좋습니다.

Date.toString()format specifiers을 참조하십시오.

+0

은 사용자 설정보다 더 많이있을 것 같은데, 더러운 크롬 버그를 체크 아웃! – Stefano

+0

http://momentjs.com/이 정말 좋은 라이브러리라는 것을 알리고 싶습니다. Datejs는 유지 관리되지 않은 것처럼 보입니다. –

1

사실 웹킷의 버그입니다. 특히 Chrome에서는 Safari가 실제로 영향을받습니다. http://code.google.com/p/chromium/issues/detail?id=3607

toLocaleString()은 로캘로 변환되지 않습니다.

최악의 경우 WontFix로 마감되었습니다. 어떻게 가능합니까? 우리는 그것을 다시 시도해야합니다. 버그에 대한 결론은 새로운 javascript globalization apis (잘 설명 된 것은 here입니다)이 나타날 것입니다. 그것은 나에게 해결책처럼 들리지 않는다!

가능하면 @ arnaud576875 제안에 따라 오래되었지만 여전히 양호한 datejs을 사용하십시오.

+1

Chrome 버그 3607이 지금 고정됨으로 표시되지만 수정되지 않았습니다. # 28 거기에 덧글을 달았습니다. 기본적으로 슬로베니아어 로케일을 설정 한 내 시스템에서 미국식 시간 형식을 사용합니다. 다른 브라우저는 정확한 현지화 된 문자열을 제공합니다. –