2016-11-24 1 views
0

브라우저 또는 타임 스탬프 등을보고 사용자 국가에 따라 moment.locale을 설정하고 싶습니다. 이것이 어떻게 달성 될지 확신 할 수 없습니다. Momentjs - 사용자 시간대의 로케일 설정

는 현재이 같은 달성하고 -

const userLocale = 'ja'; 
moment.locale(userLocale); 

어떤 아이디어 멋진 사람을?

+0

당신은 [여기] 브라우저의 로케일보기에 대한 정보를 정기적으로 찾을 수 있습니다 (http://stackoverflow.com/q/673905/4131048) 및 [여기] (HTTP 희망이 도움 .com/q/1043339/4131048) – VincenzoC

답변

0

당신은 아마 moment-timezone

그러나, 사용자의 로컬 시간대에 자바 스크립트 항상 기본값에서 날짜를 사용할 수 있습니다. 따라서 기본적으로 해결되는 문제인 것처럼 들립니다. 예를 들어 아래 스 니펫을 실행하면 현지 시간 인 GMT-0500을 볼 수 있습니다. 다른 시간대에 있다면 뭔가 다른 것을보아야합니다.

그러나 현지 시간 소인을 사용자 설정 또는 유사 시간대에서 특정 시간대로 변환하려는 경우 순간 시간대가 가장 쉬운 방법입니다.

document.getElementById("date").innerHTML = new Date();
<div id="date"></div>

+0

니스! 그러나 조금 까다 롭습니다. 나는 그것을 통해지도를 작성하고 올바른 로케일을 찾아야합니다. – GeekOnGadgets

+0

@GeekOnGadgets'moment.tz.guess();'시도해 볼 수 있습니다. – hampusohlsson

0

당신은

var locale = window.navigator.userLanguage || window.navigator.language; 

으로 브라우저의 로케일을 얻고 브라우저의 로케일 시도 얻기에 문제가 있다면 순간의 로케일

moment.locale(locale); 

을 설정하는 로케일을 사용할 수 있습니다

// 유래 :
var locale = navigator.languages && navigator.languages[0] || // Chrome and Firefox 
      navigator.language || // All browsers 
      navigator.userLanguage; // IE <= 10 

는 :)

관련 문제