스택큐힙리스트

로컬 시간 문자열을 UTC로 변환하는 방법은 무엇인가요? 본문

카테고리 없음

로컬 시간 문자열을 UTC로 변환하는 방법은 무엇인가요?

스택큐힙리스트 2023. 4. 5. 04:56
반응형

현지 시간으로 된 datetime 문자열을 UTC 시간으로 문자열로 변환하는 방법은 무엇인가요?

내가 이걸 이전에 해봤다는 건 확실하지만 찾을 수 없어. SO는 나 (그리고 다른 사람들)가 앞으로 그걸 할 수 있게 도와줄거야.

명료화: 예를 들어, 만약 제 지역 시간대에서 2008-09-17 14:02:00 이 있다면 ( +10 ), 동등한 UTC 시간을 가진 문자열을 생성하고 싶습니다: 2008-09-17 04:02:00 .

또한, http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/에서는 DST와 다른 문제들로 인해 일반적으로 로컬 시간에서 UTC 시간으로 유일한 변환이 불가능하다는 것에 유의하십시오.

답변 1

먼저 문자열을 단순한 datetime 객체로 구문 분석합니다. 이는 어떤 연결된 시간대 정보도 없는 datetime.datetime 인스턴스입니다. 이의 documentation을 참조하세요.

pytz 모듈을 사용하여 전체 시간대 목록 + UTC가 제공됩니다. 현지 시간대를 파악하고 이를 기반으로 시간대 객체를 만들고, 이를 조작하여 단순한 일시에 연결하세요.

마지막으로, datetime.astimezone() 방법을 사용하여 일시를 UTC로 변환합니다.

2001-2-3 10:11:12 문자열에 대한 로컬 시간대 America/Los_Angeles 소스 코드:

from datetime import datetime

import pytz

local = pytz.timezone(America/Los_Angeles)

naive = datetime.strptime(2001-2-3 10:11:12, %Y-%m-%d %H:%M:%S)

local_dt = local.localize(naive, is_dst=None)

utc_dt = local_dt.astimezone(pytz.utc)

거기서, UTC 날짜 및 시간을 필요한대로 형식화하기 위해 strftime() 방법을 사용할 수 있습니다.

utc_dt.strftime(%Y-%m-%d %H:%M:%S)

답변 2

시간은 업무상 매우 중요한 요소 중 하나입니다. 시간을 다루는 가장 일반적인 방법 중 하나는 현지 시간을 사용하는 것입니다. 그러나 다른 시간대와 협력할 필요가 있을 때 이것은 문제가 될 수 있습니다. 서로 다른 시간대 간의 협력에 필요한 것은 일관된 시간 표준입니다. 그것이 바로 UTC입니다.

UTC는 협정 세계시입니다. 이 시간은 세계 어디에서나 동일합니다. UTC는 리눅스 시스템에서 널리 사용됩니다. 로컬 시간은 흔히 시스템에서 표시하는 시간이고 UTC는 시스템에서 표시하지 않는 시간입니다.

로컬 시간을 UTC로 변환하는 방법은 매우 간단합니다. 이 작업을 수행하려면 Python을 사용할 수 있습니다. Python은 참으로 좋은 언어입니다. Python을 사용하여 로컬 시간을 UTC로 변환하는 방법을 알아본다.

우선 Python에서 datetime 모듈을 가져와야 합니다. datetime 모듈은 Python에서 날짜 및 시간 작업을 수행하는 데 필요한 함수 및 클래스를 제공합니다. from datetime import datetime

그 다음, 로컬 시간 문자열을 datetime 객체로 변환해야합니다. 이 작업을 수행하려면 strptime 함수를 사용합니다. strptime 함수는 문자열을 datetime 객체로 변환합니다. 예를 들어, 아래와 같은 함수를 사용하여 로컬 시간을 datetime 객체로 변환할 수 있습니다.

local_time_str = '2022-09-23 12:30:00'

local_time = datetime.strptime(local_time_str, '%Y-%m-%d %H:%M:%S')

이제 datetime 객체를 UTC로 변환해야합니다. 이 작업을 수행하려면 datetime 객체의 utctimetuple 메서드를 사용합니다. 다음 코드를 통해 UTC로 변환된 datetime 객체를 얻을 수 있습니다.

utc_time = datetime.utcfromtimestamp(datetime(local_time).timestamp())

마지막으로, UTC 시간 객체를 문자열로 변환할 수 있습니다. 이 작업을 수행하려면 strftime 함수를 사용합니다. 아래의 코드는 UTC 시간을 문자열 형식으로 변환하는 방법을 보여줍니다.

utc_time_str = utc_time.strftime('%Y-%m-%d %H:%M:%S')

UTC로 변환된 시간을 효율적으로 사용할 수 있도록 로컬 시간을 UTC로 변환하는 방법을 배웠습니다. Python을 사용하여 이 작업을 수행하면 간단하고 빠른 솔루션을 얻을 수 있습니다. 이 기술을 사용하여 다른 지역과 협력하는 경우 시간차이 때문에 요구사항을 충족시키기 위해 문제를 확실히 해결할 수 있습니다.

반응형
Comments