2011-10-04 6 views
0

클라이언트 측 (사용자가 날짜 선택기에서 선택)에 Date을 가지고 있으며이를 서버로 보내고 추후 계산을 위해 UTC 값을 사용하고자합니다.
예를 들어 사용자가 Tue Oct 04 2011 00:00:00 GMT+0300 (E. Europe Daylight Time)을 선택하면 date.getTime()을 사용하여 서버에 밀리 초를 보냅니다. 서버에서 나는 방법을 사용한다 :날짜 시간대와 함께 작동

public static DateTime GetDateByMilliseconds(long milliseconds) 
{ 
    var date = new DateTime(1970, 1, 1); 
    return date.AddMilliseconds(milliseconds); 
} 

그리고 Oct 03, 2011 09:00:00 PM을 얻는다. 그러나 저는 Oct 04 2011 00:00:00 값으로 작업하고 싶습니다.
어떻게해야합니까? 클라이언트 측에서 날짜 시간대를 재설정 하시겠습니까? 서버에 오프셋을 추가 하시겠습니까? 다른 건 없니?

+0

이들은 동일한 값입니다. 'Oct 03, 2011 09:00:00 PM' *은'Tue Oct 04 2011 00:00:00 GMT + 0300'의 UTC 값입니다. 나는 질문을 이해하지 못한다 ... – deceze

+0

자바 스크립트는 UTC 시간을 줄 것이므로 나중에 DateTime 객체를 가져 오기 위해 값의 오프셋을 더하거나 뺄 필요가있다. – V4Vendetta

+0

정확히 무엇이 100 % 명확하지 않다. 당신은 묻고 있습니다 ... 그러나 내가 당신과 함께 할 수있는 것은 UTC에서 계산을하고 로컬이 아니라 로컬 시간으로 다시 변환하여 표시하기위한 것입니다. – James

답변

1

나는 당신이해야한다고 생각 :

date.getTime() + (date.getTimezoneOffset() * 60 * 1000) 

이이 사용자의 시간대 오프셋 "제거"할 것이다.

관련 문제