2011-11-30 2 views
0

파이썬에 완전히 익숙하지 않은 저는 전직 동료의 스크립트에서 실제로 작업하고 있습니다. 그것을 보면 상당히 직설적 인 것처럼 보입니다. 이 상황은 다음과 같습니다.Python - 다른 시간대를 얻으려고 시도합니다

스크립트는 현재 시간 (UTC)을 확인하고 시간이 지나면 하루 동안 스크롤/변경되는 시간 기반 테이블을 렌더링하므로 항상 롤링 8 시간 테이블이 있습니다.

이제 CST ('아메리카/시카고') (이 도구는 UTC 시간을 중부 표준시로 변경해야 함)에이 도구의 사본을 동일한 서버에 배포하고 싶습니다. 단지 'current_time'변수 == GMT -6을 수정해야 할 방법을 찾기 위해 노력하고 있습니다.

그는 첫 시간에 얻을 수의 strftime()를 사용 : - :

current_time = int(strftime("%H")) 
if current_time <19: 
temp_page.write(...) 
elif current_time == 19: 
temp_page.write(...) 

등 그래서

을 내 PHP는 지식, 내가 좋아하는 뭔가를 할 수있을 싶어요

current_time = int(strftime("%H"), (localtime() -6 hours)) 

(예, 그게 실제 PHP 코드 아니라 실현, 그러나 희망 당신은 나의 의미 ;-) 얻을) 내 연구에서

을 esearch, 나는 pytz를 보았지만 이것이 웹 서버에 설치되지는 않았지만, 아마도 가장/가장 쉬운 방법이기도하다.

도움을 주시면 대단히 감사하겠습니다.

답변

0

datetime 모듈을 사용할 수 있습니다 (표준 라이브러리의 일부이므로 표준 Python이 시스템에 설치된 경우 설치됩니다).

특히 datetime 개체는 시간대 변환 중에 사용되는 선택적인 tzinfo 특성을 가질 수 있습니다. Here은 블로그 게시물을 사용하는 방법을 단계별로 설명하는 블로그 게시물입니다.

+0

감사합니다. Mac.이게 내가 찾고 있던거야! 나는 좋은 점이있는 것 같아서 pytz를 사용할 수도 있지만 코드는 다음과 같습니다 : 'code' current_time = datetime.now() - timedelta (hours = 6) current_time = int (current_time.strftime ("% H ")) – Tev

+0

@Tev -'current_hour = current_time.hour'도 작동합니다. – eumiro

+0

고마워요 @eumiro - 그게 훨씬 쉽습니다! – Tev

3

예, pytz을 설치하면 다른 시간대 (및 UTC)로 작업 할 때 많은 도움이됩니다.

import pytz 
from datetime import datetime 

now = datetime.now(pytz.utc) 

now 지금 datetime.datetime(2011, 11, 30, 14, 26, 30, 628014, tzinfo=<UTC>)하고 now.hour이 (14를 반환)와 현재 UTC 시간을 계산하는 데 사용할 수 있습니다 :

(컴퓨터의 시간대 무관) 현재 UTC 시간을

을 얻을 수있다

+0

pytz를 추가하고 작업을 시작하겠습니다. 그러나 빠른 수정을 위해 datetime 예제를 사용했습니다. 고마워요! – Tev

관련 문제