[파이썬] 날짜와 시간의 시간대 환산

파이썬에서는 datetime 모듈을 사용하여 날짜와 시간을 다룰 수 있습니다. 이 모듈을 활용하여 시간대 간의 변환을 쉽게 할 수 있습니다.

현지 시간을 UTC로 변환하기

UTC는 협정 세계시(Universal Coordinated Time)로, 전 세계에서 사용되는 시간 표준입니다. 현지 시간을 UTC로 변환하려면 pytz 모듈을 사용할 수 있습니다.

from datetime import datetime
import pytz

# 현지 시간
local_time = datetime.now()

# 시간대 설정
timezone = pytz.timezone('Asia/Seoul')

# 현지 시간을 시간대로 변환
local_time = timezone.localize(local_time)

# UTC로 변환
utc_time = local_time.astimezone(pytz.utc)

print('현지 시간:', local_time)
print('UTC 시간:', utc_time)

위의 코드에서는 datetime.now() 함수를 사용하여 현재 시간을 가져온 다음, pytz.timezone() 함수를 사용하여 원하는 시간대(예: ‘Asia/Seoul’)를 설정합니다. 그런 다음 timezone.localize() 함수를 사용하여 현지 시간을 해당 시간대로 변환합니다. 마지막으로 astimezone() 함수를 사용하여 UTC로 변환된 시간을 얻을 수 있습니다.

UTC를 현지 시간으로 변환하기

UTC 시간을 현지 시간으로 변환할 때도 pytz 모듈을 사용할 수 있습니다.

from datetime import datetime
import pytz

# UTC 시간
utc_time = datetime.utcnow()

# 시간대 설정
timezone = pytz.timezone('Asia/Seoul')

# UTC 시간을 시간대로 변환
local_time = utc_time.replace(tzinfo=pytz.utc).astimezone(timezone)

print('UTC 시간:', utc_time)
print('현지 시간:', local_time)

위의 코드에서는 datetime.utcnow() 함수를 사용하여 현재 UTC 시간을 가져온 뒤, timezone.replace() 함수를 사용하여 tzinfo를 설정합니다. 그런 다음 astimezone() 함수를 사용하여 현지 시간대로 변환합니다.

Conclusion

파이썬의 datetime 모듈과 pytz 모듈을 사용하여 날짜와 시간을 다룰 수 있습니다. 이러한 기능을 활용하여 현지 시간과 UTC 시간 간의 변환을 손쉽게 할 수 있습니다.