Python Datetime: 예제가 포함된 종합 안내서

Python Datetime: 예제가 포함된 종합 안내서

Python에서 데이터 프로젝트로 작업할 때 대부분 datetime 함수를 사용합니다. 작업할 거의 모든 데이터 세트에는 요구 사항과 프로젝트 요구 사항에 따라 조작하려는 datetime 열이 있습니다.

다행스럽게도 Python에는 datetime 이라는 자체 내장 모듈이 있어 날짜, 시간 및 이 둘의 조합과 같은 datetime 인스턴스로 작업을 표현, 조작 및 수행할 수 있습니다. Python datetime 모듈을 마스터하면 프로젝트에서 보다 강력한 시계열 분석을 수행하는 데 도움이 됩니다.

Python datetime 모듈은 날짜, 시간 및 시간 간격을 처리하기 위한 도구입니다. 간단한 방식으로 날짜와 시간에 대한 다양한 작업을 수행할 수 있습니다.

Python Datetime: 예제가 포함된 종합 안내서

프로그래밍 개요 – 소프트웨어 개발자의 디스플레이에 소스 코드 및 이진 코드. 색상 구문이 있는 검은색 테마입니다.

Python 의 datetime 모듈을 사용하면 날짜 및 시간 값으로 쉽게 작업하고, 시간대를 관리하고, 계산을 수행하고, 다양한 표현을 위한 서식 지정 및 구문 분석을 처리할 수도 있습니다. 이 기능을 통해 datetime 모듈은 데이터 처리에서 이벤트 예약 등에 이르기까지 많은 애플리케이션에서 필수적인 도구가 됩니다.

프로젝트에서 Python의 datetime 모듈을 사용하기 전에 기본 클래스를 이해하는 것이 중요합니다. 아래 섹션에서는 Python DateTime 모듈의 다섯 가지 주요 클래스를 살펴보겠습니다. 그것에 들어가자!

목차

Python Datetime 모듈의 5가지 주요 클래스는 무엇입니까?

Python Datetime 모듈은 날짜, 시간, 시간대 및 기간을 조작하고 작업하는 클래스를 제공하는 표준 라이브러리의 일부입니다.

이 모듈은 5개의 주요 클래스로 구성됩니다.

  1. 날짜 시간

  2. 날짜,

  3. 시간,

  4. 타임델타

  5. 시간대.

    개념을 더 잘 이해하는 데 도움이 되도록 각 클래스를 살펴본 다음 사용 사례의 예를 살펴보겠습니다.

Datetime 클래스 사용 방법

Python Datetime 클래스는 모듈에서 가장 일반적으로 사용되는 클래스입니다. 연도, 월, 일, 시, 분, 초 및 마이크로초와 같은 속성을 가진 단일 시점을 나타냅니다.

Python Datetime 클래스의 몇 가지 일반적인 작업은 다음과 같습니다.

  • datetime.datetime.now()

이 함수를 사용하면 현재 날짜와 시간을 얻을 수 있습니다. 다음은 현재 날짜 및 시간을 검색하는 예입니다.

import datetime

# Get the current date and time
now = datetime.datetime.now()

print("Current date and time: ", now)

그러면 실행 시점의 현재 날짜와 시간이 YYYY-MM-DD HH:MM:SS.ssssss 형식으로 출력됩니다.

Python Datetime: 예제가 포함된 종합 안내서

  • 날짜시간.날짜시간

이 함수를 사용하면 사용자 지정 날짜 및 시간 개체를 만들 수 있습니다. 다음은 코드에서 datetime.datetime을 사용하는 예입니다.

from datetime import date

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

print("Custom date and time: ", custom_date)

위의 함수 외에도 Datetime 클래스는 다음과 같은 날짜 및 시간 작업을 위한 메서드도 제공합니다.

Python Datetime: 예제가 포함된 종합 안내서

  • strftime() :

이 메서드를 사용하면 날짜 및 시간 개체를 문자열로 형식화할 수 있습니다. 다음은 strftime() 메서드의 예입니다.

import datetime

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

# Format the datetime object as a string
formatted_date = custom_date.strftime("%B %d, %Y, %H:%M")

print("Formatted date and time: ", formatted_date)

이 코드는 datetime 객체를 문자열로 변환합니다.

Python Datetime: 예제가 포함된 종합 안내서

  • strptime() :

datetime 클래스의 이 함수를 사용하면 날짜 및 시간 개체를 나타내는 문자열을 단일 Datetime 개체로 구문 분석할 수 있습니다. 다음은 문자열로 저장된 날짜를 Datetime 객체에 구문 분석하는 예입니다.

import datetime

# String representing a date and time
date_string = "May 22, 2023, 17:40"

# Parse the string into a datetime object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y, %H:%M")

print("Parsed date and time: ", parsed_date)

그러면 문자열이 DateTime 객체로 변환됩니다.

Python Datetime: 예제가 포함된 종합 안내서

날짜 클래스 사용 방법

Date 클래스를 사용하면 날짜 개체(년, 월, 일)만 독점적으로 처리할 수 있습니다. 날짜 클래스를 사용하여 날짜 개체를 만들 수 있습니다.

Date 클래스의 몇 가지 일반적인 작업은 다음과 같습니다.

  • 날짜시간.날짜.오늘()

날짜 클래스의 이 함수를 사용하면 현재 날짜를 얻을 수 있습니다. 다음은 날짜 클래스를 사용하여 현재 날짜를 검색하는 예입니다.

import datetime

# Get the current date
today = datetime.date.today()

print("Today's date: ", today)

이 Python 코드는 실행 시점의 현재 날짜를 YYYY-MM-DD 형식으로 출력합니다.

Python Datetime: 예제가 포함된 종합 안내서

이 글을 쓰는 시점에서 현재 날짜는 2023-05-22입니다.

  • 날짜시간.날짜()

날짜 클래스의 이 함수를 사용하면 날짜 개체를 만들 수 있습니다. 이 예제는 datetime.date() 함수를 사용하여 사용자 정의 날짜 객체를 생성하는 방법을 보여줍니다.

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

print("Custom date: ", custom_date)

datetime.date() 함수에서 연도, 월, 일을 인수로 제공합니다.

이 스크립트는 2023년 5월 22일 날짜에 대한 사용자 지정 날짜 개체를 만들었으므로 2023-05-22를 출력합니다.

Python Datetime: 예제가 포함된 종합 안내서

Date 클래스는 다음과 같은 유용한 메서드도 제공합니다.

  • 주일()

날짜 클래스의 이 메서드는 요일을 반환합니다(월요일은 0, 화요일은 1 등). 다음 예제에서는 weekday() 메서드를 보여줍니다.

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Get the day of the week
day_of_week = custom_date.weekday()

print("Day of the week: ", day_of_week)

이 예에서 custom_date.weekday()는 2023년 5월 22일이 월요일이기 때문에 0을 반환합니다.

Python Datetime: 예제가 포함된 종합 안내서

  • strftime()

날짜 클래스의 이 메서드를 사용하면 날짜 개체를 문자열 형식으로 지정할 수 있습니다 . 다음 예제는 strftime() 함수를 보여줍니다.

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Format the date object as a string
formatted_date = custom_date.strftime("%B %d, %Y")

print("Formatted date: ", formatted_date)

이렇게 하면 "월일, 연도" 형식의 날짜가 출력됩니다.

Python Datetime: 예제가 포함된 종합 안내서

  • strptime()

이 메서드를 사용하면 날짜를 나타내는 문자열을 Date 개체로 구문 분석할 수 있습니다. 다음은 문자열 날짜를 Date 객체로 변환하는 예입니다.

import datetime

# String representing a date
date_string = "May 22, 2023"

# Parse the string into a date object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y").date()

print("Parsed date: ", parsed_date)

이렇게 하면 날짜 문자열에서 생성된 날짜 개체가 출력됩니다.

Python Datetime: 예제가 포함된 종합 안내서

시간 클래스 사용 방법

Time 클래스를 사용하면 시간 인스턴스(시, 분, 초, 마이크로초)로 작업할 수 있습니다. time 클래스를 사용하면 datetime.time()을 사용하여 사용자 지정 시간 개체를 만들 수 있습니다.

다음 예제에서는 사용자 지정 시간 개체를 만드는 방법을 보여줍니다.

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

print("Custom time: ", custom_time)

datetime.time() 함수 에서 시간과 분을 인수로 제공합니다.

이 스크립트는 Python 코드에 지정된 대로 17:40:00을 출력합니다.

Python Datetime: 예제가 포함된 종합 안내서

Time 클래스는 다음과 같은 유용한 메서드를 제공합니다.

  • strftime()

이 메서드를 사용하면 시간 개체를 문자열로 형식화할 수 있습니다. 아래는 이 기능의 예입니다.

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

# Format the time object as a string
formatted_time = custom_time.strftime("%H:%M")

print("Formatted time: ", formatted_time)

이렇게 하면 "시:분" 형식의 현지 시간이 출력됩니다.

Python Datetime: 예제가 포함된 종합 안내서

  • strptime()

이 함수를 사용하면 시간을 나타내는 문자열을 Time 개체로 구문 분석할 수 있습니다. 다음 예제에서는 이 기능을 보여줍니다.

from datetime import time

# String representing a time
time_string = "17:40"

# Parse the string into a time object
parsed_time = datetime.datetime.strptime(time_string, "%H:%M").time()

print("Parsed time: ", parsed_time)

그러면 시간 문자열에서 생성된 시간 개체가 출력됩니다.

Python Datetime: 예제가 포함된 종합 안내서

How to Use The Timedelta Class

The Timedelta class allows you to represent represents a duration or difference between two dates or times.

With Timedelta class, you can perform the following operations:

  • Calculate the difference between two dates or times

An example of calculating the difference between two dates is given below:

 import datetime

# Create two custom date objects
date1 = datetime.date(2023, 5, 22)
date2 = datetime.date(2023, 6, 1)

# Calculate the difference between the two dates
date_difference = date2 - date1

print("Difference between the dates is: ", date_difference.days, "days")

In this example, date_difference is a timedelta object representing the difference between date2 and date1. The .days property gives the number of days between the two dates.

Python Datetime: 예제가 포함된 종합 안내서

  • Add or subtract a duration to a date or time

An example of adding a duration to a date is given below:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Create a duration of 10 days
duration = datetime.timedelta(days=10)

# Add the duration to the date
new_date = custom_date + duration

print("New date: ", new_date)

In this example, duration is a timedelta object representing a duration of 10 days. We use the + operator to add this duration to custom_date.

Python Datetime: 예제가 포함된 종합 안내서

How to Use the Timezone Class

The Timezone class allows you to handle time zones and daylight saving time adjustments.

You can perform the following operation with timezone class:

  • Create a timezone object

To create a timezone object, you can use the datetime.timezone() function. The following example demonstrates creating a timezone object:

import datetime

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

print("Timezone object: ", two_hours_ahead)

In this example, two_hours_ahead is a timezone object representing a timezone that is 2 hours ahead of Coordinated Universal Time (UTC).

This script will output a timezone object like .

Python Datetime: 예제가 포함된 종합 안내서

  • Object with a specific timezone

To achieve this, you can use the .replace(tzinfo=tz) function. The following example demonstrates this function:

import datetime

# Create a naive datetime object
naive_datetime = datetime.datetime(2023, 5, 22, 17, 40)

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

# Convert the naive datetime object to an aware object
aware_datetime = naive_datetime.replace(tzinfo=two_hours_ahead)

print("Aware datetime object: ", aware_datetime)

In this example, naive_datetime is a datetime object that does not have any timezone information. The two_hours_ahead variable is a timezone object representing a timezone that is 2 hours ahead of UTC.

The replace(tzinfo=two_hours_ahead) method is used to create a new datetime object with the same date and time as naive_datetime, but with tzinfo set to two_hours_ahead.

Python Datetime: 예제가 포함된 종합 안내서

The Timezone helps you maintain accurate and consistent time values when working with data that spans multiple time zones.

You have gone through some of the most important functions in the datetime module in Python. In the next section we will implement some of the above functions to a case studywhich will give you a practical look into the implementation of these datetime module in your projects.

Implementing the DateTime Module Functions to a Case Study

Let’s consider a case study where we are given a dataset of different events that happened around the world. The dataset has corresponding dates and times in a string format.

우리의 임무는 이러한 날짜와 시간을 DateTime 개체로 변환하고 필요에 따라 작업을 수행하는 것입니다.

다음 데이터 세트가 있다고 가정합니다.

Python Datetime: 예제가 포함된 종합 안내서

변수의 데이터 유형을 확인하면 날짜와 시간이 문자열로 저장되는 것을 볼 수 있습니다. 따라서 분석을 수행하기 전에 날짜 및 시간 열을 적절한 형식으로 변환해야 합니다.

이를 위해 다음 코드를 사용할 수 있습니다.

import datetime

# Convert 'Date' and 'Time' strings into datetime objects
df['DateTime'] = df['Date'] + ' ' + df['Time']
df['DateTime'] = df['DateTime'].apply(lambda x: datetime.datetime.strptime(x, "%b %d, %Y %H:%M"))

print(df)

이 코드 블록에서는 먼저 'Date' 및 'Time' 열을 연결하여 DataFrame에 새 열 'DateTime'을 만듭니다. 그런 다음 이 새 열의 각 값에 datetime.strptime 함수를 적용하여 날짜 및 시간 문자열을 datetime 개체로 변환합니다. 마지막으로 DataFrame을 출력하여 결과를 확인합니다.

Python Datetime: 예제가 포함된 종합 안내서

다음으로 우리가 하고 싶은 일은 두 사건 사이의 차이를 계산하는 것입니다. 이를 위해 다음 코드를 사용할 수 있습니다.

duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)

이 Python 스크립트는 'Event1'과 'Event2' 사이의 기간을 계산합니다.

Python Datetime: 예제가 포함된 종합 안내서

마지막으로 datetime 개체를 다른 시간대로 변환해 보겠습니다. datetime 모듈의 Timezone 함수를 사용하여 이를 달성할 수 있는 시기입니다.

# Create a timezone object for UTC
utc_tz = datetime.timezone(datetime.timedelta(0))

# Convert the datetime objects into UTC
df['DateTime_UTC'] = df['DateTime'].apply(lambda x: x.replace(tzinfo=utc_tz))

print(df)

이 코드에서는 UTC에 대한 시간대 개체를 만듭니다. 다음으로 'DateTime' 열에 람다 함수를 적용하여 DataFrame에 'DateTime_UTC'라는 새 열을 만듭니다. 이렇게 하면 각 datetime 개체의 시간대 정보가 UTC로 대체됩니다.

Python Datetime: 예제가 포함된 종합 안내서

위의 예제 사례 연구를 통해 DateTime 모듈에서 제공하는 다양한 함수가 함께 작동하여 날짜와 시간을 적절한 형식으로 조작하는 방법을 확인할 수 있습니다.

이제 datetime 모듈의 일부 함수에 익숙해졌으므로 더 복잡한 프로젝트를 수행할 때 사용할 몇 가지 추가 함수를 살펴보겠습니다.

위에 나열된 기능 외에도 당면한 문제에 따라 사용할 수 있는 더 많은 유용한 기능이 있습니다. Python 개발자는 종종 문서 페이지를 열어서 요구 사항을 충족할 수 있는 기능을 찾습니다. 그리고 우리는 당신도 똑같이 할 것을 제안합니다!

추가 날짜 및 시간 기능

이 섹션에서는 Python datetime 모듈 의 추가 기능에 대해 설명합니다 . 여기에는 ctime() 함수 와 함께 요일, 월 및 요일 이름 검색이 포함됩니다 .

날짜에서 평일을 검색하는 방법

datetime 모듈 은 요일을 정수로 반환하는 weekday() 함수와 함께 제공됩니다(여기서 월요일은 0이고 일요일은 6 입니다 ) .

이 함수를 사용하려면 date 또는 datetime 개체에서 호출하면 됩니다.

import datetime

today = datetime.date.today()
weekday_number = today.weekday()

print(weekday_number)

위 코드의 출력은 아래 이미지에 나와 있습니다.

Python Datetime: 예제가 포함된 종합 안내서

현재 현지 날짜는 2023년 5월 23일이고 평일은 월요일입니다.

날짜에서 월 및 요일 이름을 검색하는 방법

datetime을 사용하면 월 이름과 요일을 검색할 수도 있습니다.

날짜 또는 날짜 시간 개체를 문자열로 형식화하는 strftime() 함수를 사용할 수 있습니다 .

다음은 strftime() 함수를 사용하여 월 이름과 요일을 가져오는 방법의 예입니다 .

import datetime

today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')

print(weekday_name)
print(month_name)

이 코드는 출력에 요일 이름과 월 이름을 인쇄합니다 .

Python Datetime: 예제가 포함된 종합 안내서

Ctime 기능 사용 방법

datetime 모듈 의 ctime() 함수는 " Day Mon DD HH:MM:SS YYYY" 형식의 날짜 또는 datetime 객체의 문자열 표현을 반환합니다.

ctime은 독립 실행형 함수가 아니라 datetime 개체 에 대한 메서드입니다 .

다음은 코드에서 ctime 함수를 사용하는 예입니다.

import datetime

now = datetime.datetime.now()
formatted_date = now.ctime()

print(formatted_date)

위의 코드는 날짜 개체의 문자열 표현을 반환합니다.

Python Datetime: 예제가 포함된 종합 안내서

시계열 데이터 작업에 대해 자세히 알아보려면 다음 비디오를 살펴보십시오.

마지막 생각들

Python 프로그래머로서 datetime 모듈을 마스터하는 것이 중요합니다. 날짜, 시간 및 시간 간격을 처리할 수 있는 도구 키트입니다. 실제 데이터에서 자주 접하게 되는 요소입니다.

문자열을 datetime 개체로 변환하고, 시간대 변환을 처리하고, 날짜 및 시간에 대한 작업을 수행하려면 이 모듈이 필요합니다.

datetime 모듈을 사용하는 방법을 배우면 자신의 프로젝트에서 이러한 작업을 더 잘 처리할 수 있습니다!


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것