2009-05-21 3 views

답변

2

클라이언트가 시간대를 인식하려면 서버 측이 필요합니다. 이 결정을 내리는 데 필요한 일반적인 정보에는 정보가 충분하지 않습니다. 가장 가까운 것은 Accept_Language 헤더로서 실마리를 줄 수는 있지만 충분히 유용하지는 않습니다 (특히 클라이언트가 여러 시간대가있는 국가에있는 경우) .

따라서 사용자에게 시간대가 무엇인지 알려주고 로그온 또는 쿠키를 사용하여 해당 정보를 저장해야합니다.

+0

감사없이 수집하기 어려울 것 – BlueSky

0

vb.net, C# 또는 사용하는 .net 언어의 서버 측에서 변환 할 수 있습니다. 당신은 어딘가에 현지 시간으로 개조해야 할 것입니다.

세부 사항없이 매우 광범위한 질문을하므로 서버에서이 작업을 수행하는 방법을 권장 할 수 없습니다.

나는 문제가 당신의 필요를 참조 의견을 바탕으로 편집

당신이 사용자의 시간대는 자바 스크립트없이 무엇인지 알아 내야 할 것입니다. 사용자가 등록 할 때 항상 사용자에게 시간대를 알려달라고합니다.

완벽한 방법이 아닌 한 가지 방법은 사용자가 어디에서 가장 적합한 지 알려주고 언어 설정을 사용하여 세분화 된 기능을 제공하는 지오 -IP 룩업 서비스를 사용하는 것입니다.

+2

이 서버가 클라이언트에 JS : – AnthonyWJones

+0

어떤 시간대 알고 전제로한다. 예, 사용자 프로필에 저장할 시간대가 필요합니다. – annakata

0

이 당신이 할 수있는 가장 가까운 생각해.

using System.Globalization; 

// get the first language from request (en, fr, ru) 
var primaryLanguage = Request.UserLanguages.First().Split(";").First(); 
// find a culture by this language 
var culture = new CultureInfo(primaryLanguage); 
// if the culture is neutral, try to find the specific one 
if (culture.IsNeutralCulture) 
    culture = CultureInfo.GetCultures(CultureTypes.SpecificCultures).FirstOrDefault(o => o.TwoLetterISOLanguageName == primaryLanguage); 
// get the string from a datetime 
var datetimeText = culture ? DateTime.Now.ToString(culture) : DateTime.Now.ToString(); 
관련 문제