콘텐츠로 건너뛰기

파이썬 타임스탬프 가져오기: 손쉽게 사용하는 방법

[

파이썬에서 현재 시간을 구하는 방법

파이썬에서 현재 시간을 구하는 것은 많은 시간 관련 작업의 좋은 시작점입니다. 매우 중요한 사용 사례 중 하나는 타임스탬프를 생성하는 것입니다. 이 튜토리얼에서는 datetime 모듈을 사용하여 현재 시간을 얻는 방법, 표시하는 방법, 포맷하는 방법을 배웁니다.

파이썬 애플리케이션에서 현재 시간을 효과적으로 사용하기 위해 몇 가지 도구를 알아보겠습니다. 예를 들어, 현재 시간의 속성인 연도, 분 또는 초와 같은 속성을 읽는 방법을 알게 될 것입니다. 시간을 더 쉽게 읽을 수 있도록 출력하는 옵션에 대해 탐색합니다. 또한 시간의 다양한 형식을 알아보고, 컴퓨터가 시간을 표현하는 방법, 시간을 직렬화하는 방법, 그리고 시간대를 다루는 방법을 알게 될 것입니다.

파이썬에서 시간을 나타내는 방법

from datetime import datetime
now = datetime.now()
print(now)

참고: 여기서 얻는 datetime 객체는 시간대 정보가 없습니다. 일반적으로 운영 체제에서 시간대를 올바르게 해결할 수 있지만, datetime 객체 자체에는 현재 시간대 정보가 포함되어 있지 않습니다. 이 튜토리얼의 나중 부분에서 시간대를 고려한 객체에 대해 알아보겠습니다.

출력된 datetime 객체의 형식을 알아보면, ISO 8601 표준에 밀접하게 따라갑니다. 하지만 파이썬의 기본 datetime 객체에서는 ISO 8601 표준과 약간 차이가 있습니다. 표준에서는 날짜와 시간의 부분을 T 문자로 구분해야 하지만, print() 함수로 전달되는 기본 datetime 객체는 공백 하나로 구분합니다.

datetime.now().isoformat()

파이썬에서 익숙한 형식의 타임스탬프를 포맷하는 방법

일반적으로 ISO 8601 포맷은 변수한테서 얻은 타임스탬프를 읽을 수 있게 해줍니다. 그러나 때로는 사용자가 원하는 형식으로 타임스탬프를 출력해야 할 수도 있습니다. Python은 strftime() 메서드를 제공하여 타임스탬프를 시간 표현 형식으로 변환할 수 있습니다. 이 메서드는 일련의 지시자를 사용하여 날짜와 시간을 형식화합니다.

예를 들어, 날짜를 “월-일-연도” 형식으로 표시하려면 %m-%d-%Y라는 지시자를 사용할 수 있습니다.

now.strftime("%m-%d-%Y")

위의 코드는 now 변수에 저장된 현재 날짜를 형식화하여 “월-일-연도” 형식으로 출력합니다.

타임스탬프의 형식을 변경하는 데 사용할 수 있는 다른 유용한 지시자 중 일부는 다음과 같습니다.

  • %H: 24시간 형식의 시간 (00-23)
  • %I: 12시간 형식의 시간 (01-12)
  • %M: 분 (00-59)
  • %S: 초 (00-59)
  • %p: AM 또는 PM

예를 들어, “%Y/%m/%d %I:%M %p” 형식으로 타임스탬프를 표시하려면 다음과 같이 사용할 수 있습니다.

now.strftime("%Y/%m/%d %I:%M %p")

위의 코드는 now 변수에 저장된 현재 시간을 형식화하여 “연도/월/일 12시간:분 AM/PM” 형식으로 출력합니다.

이처럼 strftime() 메서드를 사용하면 사용자 정의 형식의 타임스탬프를 얻을 수 있습니다.

파이썬에서 현재 Unix 시간을 가져오는 방법

Unix 시간은 1970년 1월 1일 00:00:00 UTC부터 현재까지 경과한 시간을 초 단위로 나타낸 것입니다. 파이썬에서 현재 Unix 시간을 가져오려면 time 모듈을 사용합니다.

import time
now = time.time()
print(now)

time() 함수는 현재 시간을 Unix 시간으로 반환합니다. 반환된 Unix 시간은 실수 형태이므로 소수점 이하의 값을 가지며, 1970년 1월 1일부터 경과한 현재까지의 초 단위 시간을 나타냅니다.

시간대를 고려하는 파이썬 시간과 날짜 객체 얻기

앞에서 소개한 datetime.now() 메서드로 얻는 datetime 객체는 현재 시간을 제공하지만 시간대 정보가 없습니다. 시간대 정보를 포함한 객체를 얻고 싶다면 pytz 패키지를 사용하면 됩니다.

from datetime import datetime
import pytz
tz = pytz.timezone("Asia/Seoul")
now = datetime.now(tz)
print(now)

이렇게 코드를 작성하면 “Asia/Seoul” 시간대에 해당하는 datetime 객체를 얻을 수 있습니다. datetime.now() 메서드에 원하는 시간대를 인수로 전달하여 시간대를 고려한 현재 시간과 날짜 객체를 반환할 수 있습니다. pytz 패키지를 사용하여 원하는 시간대를 지정할 수 있습니다.

결론

파이썬에서 현재 시간을 얻고 사용하는 방법에 대해 알아보았습니다. datetime 모듈을 사용하여 현재 시간을 얻고, 출력하고, 포맷하는 방법을 배웠습니다. 또한 Unix 시간을 가져오는 방법과 시간대를 고려한 현재 시간과 날짜 객체를 얻는 방법도 알아보았습니다. 이러한 도구들을 사용하여 파이썬 애플리케이션에서 시간을 다룰 수 있습니다.