'js 놀이'에 해당되는 글 1건

  1. 2011.05.30 접속자 별 timezone 세팅하기?
윤Front-End2011.05.30 21:41
twitter는 사용자가 원하는 시간대를 선택할 수 있고..
facebook은 자동으로 timezone을 auto detect해서 시간대에 맞게 
글을 적은 시간을 디스플레이 해준다..

그냥 문뜩 저녀석들 무슨 기준으로 선택하나가 궁금해졌고..
첨에는 IP로 접속지역? 인가 싶어서
한국에 있는 프록시 서버로 접속... ; 안바뀌었다.. 

그래서 다음 시도는 한국에 있는 지인을 통해서  페북 계정 정보를 넘겨주고 확인 해보라고 했다..
그런데 한국 시간에 맞추어서 나왔단다;;

음... 그럼 다른건;;; 멀까 생각해보다가 해본건.. 컴퓨터 시간대.. ;;
그런데 시간대만 바꾼다고 실시간으로 바뀌지 않았고.. 
로그오프 후에 다시 접속.. 

실시간은 아니었지만.. 역시나 로그인시에 접속한 시간대를 가지고 전체적으로 적용되는거였음.
음 그럼 뭘로 구할까 ? 생각해보다가;; 아무래도 server side에선 못구하겠구나 싶어.. javascript구나 싶었다.

그래서 나온 코드는;; 

 
//분으로 리턴 하니 나누기 60으로 시간으로 ㅎ
var offset = -(new Date().getTimezoneOffset()/60); 
console.log(offset);

utc(0:00) - 님하의 시간대 이니까.. 
한국 같으면 -540 이 나오니까..
실제적으로 utc(0:00)  에서 한국 시간대를 표현 해주려면 +9를 해야 하니까.. 다시 음수처리~; 

아.. ㅡ.ㅡ;; 말이 잘 안되네;;

이곳은 GMT -7 시간대이니까..  결국 내가 가져야 하는 값은 7이니까..  결국 반대 값(이런걸 수학용어로 뭐라고 하는지 ;;; );; 
음수값?;; 

뭐 무튼.. 이런식으로 js에서 로그인 시에 유저별. utc(0:00) 과 차이를 가지고 있다가.. 
디스플레이 해줄때 php에서 시간대 연산해서~ 보여주면 사용자가  느끼기에 현재 시간대라고 보여줄 수 있을듯!;

뭐 결론은.. 접속 유저별 알맞은 시간대를 보여주려면 js가 필요하다는거;; 
 트윗 처럼 설정으로 받으면 더 좋긴 하겠지만;; 그런게 없다면 이런식으로 해도 될듯.. ; 

아 그리고 gmt 랑 utc랑 현재는 같으니까;; 뭐 일단 ㅎㅎ gmt나 utc나 고고~;;
그리고 gmt(5:45)인 국가도 있음. 그러니... 5.45숫자도 나오니까.. 시간대 설정거시기에는 디비컬럼도 맞추어서 !!
그게 싫다면 그냥 나누기 60한 시간대를 가지지 말고 바로 분으로 저장해도 될듯! 


 
Posted by is윤군
TAG