에 오신 것을 환영합니다.
끔찍한 현지화 세계. 이러한 유형의 물건을 안정적인 방법으로 처리하는 쉬운 방법은 없습니다. 그것은 작업이 걸리고 로트 테스트 중입니다. 우선 .NET의 기본 제공 DateTime 현지화를 즉시 덤프해야합니다. NodaTime과 같은 것을 사용하십시오. 여러분의 삶을 훨씬 쉽게 만들어줍니다 (특히 현지화 코드가 실제로 작동하는지 테스트 할 때).
중요한 문제는 사용자의 시간대를 서버 측에서 신뢰할 수있는 방법이 없다는 것입니다.
- 그냥 사용자가 명시 적으로 자신의 시간대를 선택하고 나중에 사용하기 위해 자신의 프로필에 저장이 : 당신은 두 가지 옵션이 있습니다. 이것은 분명 가장 신뢰할 수있는 방법이지만 사용자에게이 정보를 입력하도록 강요하거나 누락 된 경우 기본 계획에 의지해야합니다.
자바 스크립트 (you can see the methodology here)를 사용하십시오. 본질적으로 JS를 사용하여 숨겨진 필드의 값을 설정하거나 AJAX로 정보를 보낼 수 있습니다. 분명히 사용자의 클라이언트는 JS 지원을 필요로하고 해당 지원을 사용할 수 있습니다 (99.99 %의 케이스에서 꽤 안전한 내기가 있지만 여전히 화면 판독기가 있으며 JS 지원이 없으며 일부 사용자는 JS에서 보안을 해제하는 것을 선호 함) 우려).
그러나, 일반적으로는 어쨌든, 권한 부여에 서버 만이 시간의 구애를 타임 스탬프를 사용할 때. 내가 아는 유일한 용도는 리플레이 공격을 막기 위해 다이제스트를 만드는 것이지만 타임 스탬프는 서버 시간을 기준으로 생성 된 다음 서버 시간에 따라 유효성이 검사됩니다. 유스 케이스는 어떻게 다른가요?
Moment.js는 시간대 및 기타 datetime 함수를 처리하는 훌륭한 자바 스크립트 라이브러리입니다. 좀 봐봐. – Rob
내 문제는 내가 아이폰 애플 리케이션이 필요합니다. – gdubs
하나의 접근 방식은 항상 UTC로 datetime 값을 저장하고 UTC로 /에서 클라이언트로 보내고 있습니다. 그런 다음 사용자에게 표시 할 때 클라이언트에서 변환하십시오. iOS API는 전환을 수행 할 수 있어야합니다. – Rob