2014-02-16 4 views
1

안녕하세요,
클라이언트 측에서 현재 날짜가 ISO 형식 인 서버 데이터를 보내고 있습니다. 서버에 보내기 전에 new Date().toISOString()을 사용하여 datetime을 구성했습니다. 모든 데이터를 서버에서 클라이언트로 다시 가져 오면 서버의 시간대에서 datetime을 수신합니다. 예를 들어
한 시간대의 서버 시간을 클라이언트의 현지 시간으로 변환하는 방법은 무엇입니까?

: 서버에
나는 그런 날짜 값 한 - "2014-02-16T13:10:13.383"

나는 클라이언트의 로컬 시간 서버에서 날짜를 변환하는 방법 - 클라이언트에 "2014-02-16T03:10:13.383"
은 현지 시간으로 변환해야 하는가?

+0

당신은 자바 스크립트로 그것을하고 싶습니까? 'var에 currentTime을 = 새로운 날짜() \t VAR 시간 = currentTime.getHours() \t var에 분 =의 currentTime.getMinutes() ' – jycr753

+0

당신은 시대의 타임 스탬프를 통과 나을 수 있습니다. 너무 많은 manupulation을 필요로하지 않습니다 – Lix

+0

@ josser 내 대답이 당신을 위해 일한 경우 또는 당신이 대답에 문제가 있다면 알려주십시오. 다른 사용자가 도움이 될 수 있도록 답장을 수락 해주십시오. 답이 제대로 작동하는지 확인하고 문제가 답변 됨으로 표시되도록하십시오. – DhruvJoshi

답변

0

취급은 일반적으로 2 배입니다. 서버 측에서 처리하려면 신뢰할 수있는 표준 시간대 정보가 필요합니다. 일반적으로 프로필 페이지에서 사용자의 시간대 기본 설정에서 가져옵니다.

우리가 클라이언트 측에서 캡처 한 모든 날짜 데이터가 DB에 저장 될 때 UTC 형식인지 확인해야한다고 했으니까요. JS 함수에는 UTC datetime에 대한 지원이 준비되어 있습니다.

저장할 때 UTC() 메소드를 JS에 사용하면 날짜를 가져올 수 있습니다.

중 하나는 DB에서 시간대 상당을 공급 다시 표시 할 때 (저장된 사용자 시간대 데이터 기준) 나 또한 여기에 내 대답을 참조이

<script type="text/javascript"> 
     function showDateInClientSideFormat(dValue) 
     { 
      var d = new Date() 
      var n = d.getTimezoneOffset(); 
      var dateClientSide = new Date(dValue +n); 
      return dateClientSide; 
     } 
    </script> 

같은 브라우저 로케일에서 그걸 얻기 위해 JS를 사용

https://stackoverflow.com/a/21573366/1123226 및 다른 훌륭한 SO 링크 How can I handle time zones in my webapp?

관련 문제