내가 한 번 4시 5분가 있다고 가정하자와 시간대는 -0100입니다 (GMT)어떻게 파이썬에서 새로운 표준 시간대를 계산할 수 있습니까?
내가 3시 5분
될 것입니다 새 시간을 계산할는 것을 할 수 파이썬의 모든 기능이 있나요 계산?
감사
내가 한 번 4시 5분가 있다고 가정하자와 시간대는 -0100입니다 (GMT)어떻게 파이썬에서 새로운 표준 시간대를 계산할 수 있습니까?
내가 3시 5분
될 것입니다 새 시간을 계산할는 것을 할 수 파이썬의 모든 기능이 있나요 계산?
감사
:
from string import atoi
from datetime import datetime
import pytz # Available http://sourceforge.net/project/showfiles.php?group_id=79122
thedate = "20080518"
thetime = "2210"
europe_tz = pytz.timezone('Europe/Paris') # Note that your local install timezone should be settings.py
brazil_tz = pytz.timezone('America/Sao_Paulo')
server_tz = pytz.timezone('America/Los_Angeles')
stat_time = datetime(atoi(thedate[0:4]), atoi(thedate[4:6]), atoi(thedate[6:8]), atoi(thetime[0:2]), atoi(thetime[2:4]), 0, tzinfo=europe_tz)
stat_time.astimezone(brazil_tz) # returns time for brazil
stat_time.astimezone(server_tz) # returns server time
출처 : http://menendez.com/blog/python-timezone-conversion-example-using-pytz/
이 같은 것을보십시오 :
>>> import datetime
>>> my_time = datetime.datetime.strptime('04:05', '%H:%M')
>>> my_time
datetime.datetime(1900, 1, 1, 4, 5)
>>> offset_str = '-0100'
>>> offset = datetime.timedelta(hours=int(offset_str.lstrip('-')[:2]), minutes=int(offset_str.lstrip('-')[2:])) * (-1 if offset_str.startswith('-') else 1)
>>> offset
datetime.timedelta(-1, 82800)
>>> my_time + offset
datetime.datetime(1900, 1, 1, 3, 5)
>>> (my_time + offset).time()
datetime.time(3, 5)
을 한마디로 :
>>> import datetime
>>> my_time = datetime.datetime.strptime('04:05', '%H:%M')
>>> offset_str = '-0100'
>>> offset = datetime.timedelta(hours=int(offset_str.lstrip('-')[:2]), minutes=int(offset_str.lstrip('-')[2:])) * (-1 if offset_str.startswith('-') else 1)
>>> (my_time + offset).time()
datetime.time(3, 5)
10x! 그 일을 할 수 있지만, 더 pythonic 방법을 생각할 수있는 사람? –
나를 위해 좋지 않다, 나는 2 strigns- "04:05"와 "-0100"을 가지고있다. 그리고 나는 새로운 시간 그러나 10x를 계산하기 위해 그들을 사용하고 싶어한다! –