2012-07-27 2 views
3

사용자가 만든 트윗 시간을 현지 시간으로 변환하려면 어떻게해야합니까? created_at은 나에게 트윗이 생성 된 시간을 알려주고 사용자 국가를 기반으로 C#을 사용하여 현지 시간으로 변경하는 방법을 설명합니다. 시간 형식은 "Jul 27 15:14:11 +0000 2012"입니다. utc_offset이 의미하는 바는 무엇이며 시간대를 변경하는 데 어떻게 사용될 수 있습니까?현지 시간으로 트위터 시간 C#

나는이 그것을해야한다, 시간대 물건 정말 익숙하지 않은 나는 당신의 도움 :)

답변

3

DateTimeOffset structure을 사용하고 싶습니다. 이렇게하면 날짜와 시간을 캡처 할 수있을뿐만 아니라 UTC로부터 오프셋 할 수도 있습니다.

string twitterDate = "Fri Jul 27 15:14:11 +0000 2012"; 

DateTimeOffset dt = DateTimeOffset.ParseExact(twitterDate, 
    "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture); 

하는 것으로 while not documented, zzzzdoes work as a custom date time format 및 오프셋을 올바르게 구문 분석에 성공 :

트위터 시간에 사용할 형식입니다. 즉, 향후이 기능을 반영하도록 설명서가 변경되지 않는 한 신중히 사용해야합니다.

일단 DateTimeOffset이 있으면 UTC로부터의 오프셋을 알 수 있습니다. 현지 시간에 현지 시간으로 받으려면 을 DateTimeOffset으로 구문 분석하여 로컬 설정에 따라 오프셋이있는 인스턴스를 반환 할 수 있습니다.

+0

감사합니다. 완벽하게 작동합니다! – Phantom

1

주셔서 감사합니다 :의

DateTime localDateTime = DateTime.ParseExact(dateString, "ddd MMM dd HH:mm:ss zzz yyyy", new CultureInfo("en-US")); 

당신은 날짜 시간의 생성자에 DateTimeKind를 제공하지 않는 한 DateTime은 워크 스테이션/서버 관리자가 Windows 용으로 선택한 표준 시간대입니다.

+0

['zzzz'는 지원되는 사용자 지정 날짜 형식이 아닙니다.] (http://msdn.microsoft.com/en-us/library/8kb3ddd4) – casperOne

+0

어쨌든 이상하게 작동하는 방식은 http : // ideone입니다. co.kr/8canC –

+0

흥미 롭다면, 서류 미비입니다. – casperOne

관련 문제